changes to grapper wip
This commit is contained in:
1 parent
361e5ed3ed
commit
9214da8a15
9 files changed
+445
-201
No files matched your search
@@ -3,6 +3,7 @@
|
|||||||
namespace App\Console\Commands\Grapper;
|
namespace App\Console\Commands\Grapper;
|
||||||
|
|
||||||
use App\Console\Commands\Grapper\Sofascore\Events;
|
use App\Console\Commands\Grapper\Sofascore\Events;
|
||||||
|
use App\Console\Commands\Grapper\Sofascore\EventsDatabase;
|
||||||
use App\Console\Commands\Grapper\Sofascore\Special;
|
use App\Console\Commands\Grapper\Sofascore\Special;
|
||||||
use App\Console\Commands\Grapper\Sofascore\Tournament;
|
use App\Console\Commands\Grapper\Sofascore\Tournament;
|
||||||
use App\Console\Commands\Nuh;
|
use App\Console\Commands\Nuh;
|
||||||
@@ -17,8 +18,11 @@ use Illuminate\Support\Carbon;
|
|||||||
class Sofascore
|
class Sofascore
|
||||||
{
|
{
|
||||||
public static $auth_header = [];
|
public static $auth_header = [];
|
||||||
|
|
||||||
public static $base_url = '';
|
public static $base_url = '';
|
||||||
|
|
||||||
public static $_days = [];
|
public static $_days = [];
|
||||||
|
|
||||||
public static $sport = [1];
|
public static $sport = [1];
|
||||||
|
|
||||||
public static function switch()
|
public static function switch()
|
||||||
@@ -35,13 +39,14 @@ class Sofascore
|
|||||||
|
|
||||||
if (Nuh::$options['t']) {
|
if (Nuh::$options['t']) {
|
||||||
self::$_days[] = Carbon::now()->format('Y-m-d');
|
self::$_days[] = Carbon::now()->format('Y-m-d');
|
||||||
} else if (Nuh::$options['day']) {
|
} elseif (Nuh::$options['day']) {
|
||||||
if (self::validateDate(Nuh::$options['day'])) {
|
$day = self::validateDate(Nuh::$options['day']);
|
||||||
self::$_days[] = Nuh::$options['day'];
|
if ($day) {
|
||||||
|
self::$_days[] = $day;
|
||||||
} else {
|
} else {
|
||||||
Notice::note('date not valid ' . Nuh::$options['day'], 'r', 1);
|
Notice::note('date not valid '.Nuh::$options['day'], 'r', 1);
|
||||||
}
|
}
|
||||||
} else if (Nuh::$options['days']) {
|
} elseif (Nuh::$options['days']) {
|
||||||
$to = Carbon::now()->subDays(Nuh::$options['days']);
|
$to = Carbon::now()->subDays(Nuh::$options['days']);
|
||||||
$from = Carbon::now()->subDay();
|
$from = Carbon::now()->subDay();
|
||||||
while ($from >= $to) {
|
while ($from >= $to) {
|
||||||
@@ -51,9 +56,9 @@ class Sofascore
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
Notice::note(Nuh::$options['sport'] . ' ' . Nuh::$options['name'], 'bb');
|
Notice::note(Nuh::$options['sport'].' '.Nuh::$options['name'], 'bb');
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (Nuh::$options['name']) {
|
switch (Nuh::$options['name']) {
|
||||||
case 'TOURNAMENTS':
|
case 'TOURNAMENTS':
|
||||||
Tournament::load();
|
Tournament::load();
|
||||||
@@ -61,6 +66,9 @@ class Sofascore
|
|||||||
case 'EVENTS':
|
case 'EVENTS':
|
||||||
Events::load();
|
Events::load();
|
||||||
break;
|
break;
|
||||||
|
case 'EVENTSDB':
|
||||||
|
EventsDatabase::load();
|
||||||
|
break;
|
||||||
case 'SPECIAL':
|
case 'SPECIAL':
|
||||||
Special::load();
|
Special::load();
|
||||||
break;
|
break;
|
||||||
@@ -73,7 +81,13 @@ class Sofascore
|
|||||||
|
|
||||||
public static function validateDate($date, $format = 'Y-m-d')
|
public static function validateDate($date, $format = 'Y-m-d')
|
||||||
{
|
{
|
||||||
|
if (is_numeric($date)) {
|
||||||
|
$date = date('Y').'-'.date('m').'-'.$date;
|
||||||
|
}
|
||||||
$d = DateTime::createFromFormat($format, $date);
|
$d = DateTime::createFromFormat($format, $date);
|
||||||
return $d && $d->format($format) == $date;
|
|
||||||
|
if ($d && $d->format($format) == $date) {
|
||||||
|
return $d->format($format);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,2 +1 @@
|
|||||||
/grapped
|
/grapped
|
||||||
/worldcup-teams
|
|
||||||
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
namespace App\Console\Commands\Grapper\Sofascore;
|
namespace App\Console\Commands\Grapper\Sofascore;
|
||||||
|
|
||||||
use App\Console\Commands\Grapper\Sofascore;
|
|
||||||
use App\Console\Commands\Nuh;
|
use App\Console\Commands\Nuh;
|
||||||
use App\Models\SofaScoreDayTournament;
|
use App\Models\SofaScoreDayTournament;
|
||||||
use App\Utilities\Notice;
|
use App\Utilities\Notice;
|
||||||
@@ -18,20 +17,20 @@ class Events
|
|||||||
$debug = Nuh::$options['d'] ?? 0;
|
$debug = Nuh::$options['d'] ?? 0;
|
||||||
$print = Nuh::$options['p'] ?? 0;
|
$print = Nuh::$options['p'] ?? 0;
|
||||||
$sport_id = Nuh::$options['sport_id'];
|
$sport_id = Nuh::$options['sport_id'];
|
||||||
|
|
||||||
$dback = Nuh::$options['days'] ?? 1;
|
$dback = Nuh::$options['days'] ?? 1;
|
||||||
|
|
||||||
$singleday = Nuh::$options['day'] ?? 0;
|
$singleday = Nuh::$options['day'] ?? 0;
|
||||||
if($singleday){
|
if ($singleday) {
|
||||||
$dback = 1;
|
$dback = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($print){
|
if ($print) {
|
||||||
for ($i = 1; $i <= $dback; $i++) {
|
for ($i = 1; $i <= $dback; $i++) {
|
||||||
$day = Carbon::now()->subDays($i)->format('Y-m-d');
|
$day = Carbon::now()->subDays($i)->format('Y-m-d');
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
Notice::note($day, 'p');
|
Notice::note($day, 'p');
|
||||||
}
|
}
|
||||||
if(Nuh::$options['groups']){
|
if (Nuh::$options['groups']) {
|
||||||
$tornaments = explode(',', Nuh::$options['groups']) ?? 0;
|
$tornaments = explode(',', Nuh::$options['groups']) ?? 0;
|
||||||
$ss_days = SofaScoreDayTournament::with('tournament')
|
$ss_days = SofaScoreDayTournament::with('tournament')
|
||||||
->when($tornaments, function ($query) use ($tornaments) {
|
->when($tornaments, function ($query) use ($tornaments) {
|
||||||
@@ -52,38 +51,22 @@ class Events
|
|||||||
* finland veikkaus => 41
|
* finland veikkaus => 41
|
||||||
*/
|
*/
|
||||||
$tornaments = explode(',', Nuh::$options['groups']) ?? 0;
|
$tornaments = explode(',', Nuh::$options['groups']) ?? 0;
|
||||||
|
if (array_sum($tornaments)) {
|
||||||
|
if ($debug) {
|
||||||
// for ($i = 1; $i <= $dback; $i++) {
|
Notice::note('groups and day(s) used from comandline', 'p');
|
||||||
// // remove one day to start yesterday
|
}
|
||||||
// $day = Carbon::now()->subDays($i)->format('Y-m-d');
|
if (! Nuh::$options['days'] or ! Nuh::$options['day']) {
|
||||||
// if ($debug) {
|
Notice::note('no day(s) option in comandline (--day=1)', 'r', 1);
|
||||||
// Notice::note($day, 'p');
|
}
|
||||||
// }
|
}
|
||||||
// $ss_days = SofaScoreDayTournament::with('tournament')
|
|
||||||
// ->when($tornaments, function ($query) use ($tornaments) {
|
|
||||||
// return $query->whereIn('tournament_id', $tornaments);
|
|
||||||
// })
|
|
||||||
// ->whereHas('tournament', function ($query) use ($sport_id) {
|
|
||||||
// $query->where('sport_id', $sport_id);
|
|
||||||
// })
|
|
||||||
// ->where('day', $day)->get();
|
|
||||||
// foreach ($ss_days as $ss_day) {
|
|
||||||
// $sofa_score_categorie_id = $ss_day->tournament->sofa_score_categorie_id;
|
|
||||||
// // https://www.sofascore.com/api/v1/unique-tournament/16/scheduled-events/2026-06-19
|
|
||||||
// $url = Nuh::$options['base_url'] . "api/v1/category/$sofa_score_categorie_id/scheduled-events/$day";
|
|
||||||
// Notice::note($url, 'p');
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// exit;
|
|
||||||
|
|
||||||
for ($i = 1; $i <= $dback; $i++) {
|
for ($i = 1; $i <= $dback; $i++) {
|
||||||
|
|
||||||
// remove one day to start yesterday
|
// remove one day to start yesterday
|
||||||
$day = Carbon::now()->subDays($i)->format('Y-m-d');
|
$day = Carbon::now()->subDays($i)->format('Y-m-d');
|
||||||
|
|
||||||
// call for spezific day
|
// call for spezific day
|
||||||
if($singleday){
|
if ($singleday) {
|
||||||
$dback = 1;
|
$dback = 1;
|
||||||
$day = $singleday;
|
$day = $singleday;
|
||||||
}
|
}
|
||||||
@@ -102,13 +85,14 @@ class Events
|
|||||||
->where('day', $day)->get();
|
->where('day', $day)->get();
|
||||||
|
|
||||||
foreach ($ss_days as $ss_day) {
|
foreach ($ss_days as $ss_day) {
|
||||||
|
|
||||||
$sofa_score_categorie_id = $ss_day->tournament->sofa_score_categorie_id;
|
$sofa_score_categorie_id = $ss_day->tournament->sofa_score_categorie_id;
|
||||||
|
|
||||||
$tournament_id = $ss_day->tournament_id;
|
$tournament_id = $ss_day->tournament_id;
|
||||||
|
|
||||||
// $url = Nuh::$options['base_url'] . "api/v1/category/$sofa_score_categorie_id/scheduled-events/$day";
|
// $url = Nuh::$options['base_url'] . "api/v1/category/$sofa_score_categorie_id/scheduled-events/$day";
|
||||||
|
|
||||||
$url = Nuh::$options['base_url'] . "api/v1/unique-tournament/$tournament_id/scheduled-events/$day";
|
$url = Nuh::$options['base_url']."api/v1/unique-tournament/$tournament_id/scheduled-events/$day";
|
||||||
|
|
||||||
$rand = rand(500000, 1000000);
|
$rand = rand(500000, 1000000);
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
@@ -120,13 +104,13 @@ class Events
|
|||||||
|
|
||||||
Nuh::$options['s'] = 0;
|
Nuh::$options['s'] = 0;
|
||||||
|
|
||||||
Nuh::$options['r'] = 0;
|
Nuh::$options['r'] = 0;
|
||||||
|
|
||||||
foreach ($data['events'] as $event) {
|
foreach ($data['events'] as $event) {
|
||||||
|
|
||||||
Notice::note($event['season']['name'].' '. $ss_day->day, 'bb');
|
Notice::note($event['season']['name'].' '.$ss_day->day, 'bb');
|
||||||
|
|
||||||
$folder = app_path() . self::$storage_path . $ss_day->day . '/' . $event['tournament']['slug'] . '/' . $event['slug'];
|
$folder = app_path().self::$storage_path.$ss_day->day.'/'.$event['tournament']['slug'].'/'.$event['slug'];
|
||||||
|
|
||||||
File::makeDirectory($folder, 0775, true, true);
|
File::makeDirectory($folder, 0775, true, true);
|
||||||
|
|
||||||
@@ -134,7 +118,7 @@ class Events
|
|||||||
* EVENT event
|
* EVENT event
|
||||||
*********************************/
|
*********************************/
|
||||||
|
|
||||||
File::put($folder . '/event.json', json_encode($event));
|
File::put($folder.'/event.json', json_encode($event));
|
||||||
|
|
||||||
/*********************************
|
/*********************************
|
||||||
* EVENT statistics
|
* EVENT statistics
|
||||||
@@ -142,7 +126,7 @@ class Events
|
|||||||
|
|
||||||
$event_id = $event['id'];
|
$event_id = $event['id'];
|
||||||
|
|
||||||
$url = Nuh::$options['base_url'] . "api/v1/event/$event_id/statistics";
|
$url = Nuh::$options['base_url']."api/v1/event/$event_id/statistics";
|
||||||
|
|
||||||
$rand = rand(500000, 1000000);
|
$rand = rand(500000, 1000000);
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
@@ -152,7 +136,7 @@ class Events
|
|||||||
|
|
||||||
$data = CurlSofa::load($url);
|
$data = CurlSofa::load($url);
|
||||||
|
|
||||||
File::put($folder . '/statistics.json', json_encode($data));
|
File::put($folder.'/statistics.json', json_encode($data));
|
||||||
|
|
||||||
/*********************************
|
/*********************************
|
||||||
* EVENT lineups
|
* EVENT lineups
|
||||||
@@ -160,7 +144,7 @@ class Events
|
|||||||
|
|
||||||
$event_id = $event['id'];
|
$event_id = $event['id'];
|
||||||
|
|
||||||
$url = Nuh::$options['base_url'] . "api/v1/event/$event_id/lineups";
|
$url = Nuh::$options['base_url']."api/v1/event/$event_id/lineups";
|
||||||
|
|
||||||
$rand = rand(500000, 1000000);
|
$rand = rand(500000, 1000000);
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
@@ -170,8 +154,7 @@ class Events
|
|||||||
|
|
||||||
$data = CurlSofa::load($url);
|
$data = CurlSofa::load($url);
|
||||||
|
|
||||||
File::put($folder . '/lineups.json', json_encode($data));
|
File::put($folder.'/lineups.json', json_encode($data));
|
||||||
|
|
||||||
|
|
||||||
/*********************************
|
/*********************************
|
||||||
* EVENT lineups
|
* EVENT lineups
|
||||||
@@ -179,7 +162,7 @@ class Events
|
|||||||
|
|
||||||
$event_id = $event['id'];
|
$event_id = $event['id'];
|
||||||
|
|
||||||
$url = Nuh::$options['base_url'] . "api/v1/event/$event_id/odds/1/all";
|
$url = Nuh::$options['base_url']."api/v1/event/$event_id/odds/1/all";
|
||||||
|
|
||||||
$rand = rand(500000, 1000000);
|
$rand = rand(500000, 1000000);
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
@@ -189,7 +172,7 @@ class Events
|
|||||||
|
|
||||||
$data = CurlSofa::load($url);
|
$data = CurlSofa::load($url);
|
||||||
|
|
||||||
File::put($folder . '/odds.json', json_encode($data));
|
File::put($folder.'/odds.json', json_encode($data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,137 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands\Grapper\Sofascore;
|
||||||
|
|
||||||
|
use App\Console\Commands\Nuh;
|
||||||
|
use App\Models\SofaScoreDay;
|
||||||
|
use App\Models\SofaScoreTournament;
|
||||||
|
use App\Utilities\Notice;
|
||||||
|
use Illuminate\Support\Facades\File;
|
||||||
|
|
||||||
|
class EventsDatabase
|
||||||
|
{
|
||||||
|
public static $storage_path = '/Console/Commands/Grapper/Sofascore/grapped/';
|
||||||
|
|
||||||
|
public static function load()
|
||||||
|
{
|
||||||
|
$debug = Nuh::$options['d'] ?? 0;
|
||||||
|
$print = Nuh::$options['p'] ?? 0;
|
||||||
|
$sport_id = Nuh::$options['sport_id'];
|
||||||
|
|
||||||
|
$days = SofaScoreDay::where('sport_id', $sport_id)->where('enabled', 1)->pluck('day')->toArray();
|
||||||
|
$tornaments = SofaScoreTournament::where('sport_id', $sport_id)->where('enabled', 1)->get();
|
||||||
|
|
||||||
|
if (! $days) {
|
||||||
|
Notice::note('No days active in DB', 'r', 1);
|
||||||
|
}
|
||||||
|
if (! $tornaments) {
|
||||||
|
Notice::note('No tornaments active in DB', 'r', 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($print) {
|
||||||
|
dd($days, $tornaments);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($days as $day) {
|
||||||
|
|
||||||
|
if ($debug) {
|
||||||
|
Notice::note($day, 'b');
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($tornaments as $tournament) {
|
||||||
|
|
||||||
|
if ($debug) {
|
||||||
|
Notice::note($tournament->name, 'b');
|
||||||
|
}
|
||||||
|
|
||||||
|
$url = Nuh::$options['base_url']."api/v1/unique-tournament/$tournament->tournament_id/scheduled-events/$day";
|
||||||
|
|
||||||
|
$rand = rand(500000, 1000000);
|
||||||
|
|
||||||
|
if ($debug) {
|
||||||
|
Notice::note("Sleep $rand msec", 'y');
|
||||||
|
}
|
||||||
|
|
||||||
|
usleep($rand);
|
||||||
|
|
||||||
|
$data = CurlSofa::load($url);
|
||||||
|
|
||||||
|
Nuh::$options['s'] = 0;
|
||||||
|
|
||||||
|
Nuh::$options['r'] = 0;
|
||||||
|
|
||||||
|
if (isset($data['events'])) {
|
||||||
|
|
||||||
|
foreach ($data['events'] as $event) {
|
||||||
|
|
||||||
|
Notice::note($event['season']['name'].' '.$day, 'bb');
|
||||||
|
|
||||||
|
$folder = app_path().self::$storage_path.$day.'/'.$event['tournament']['slug'].'/'.$event['slug'];
|
||||||
|
|
||||||
|
File::makeDirectory($folder, 0775, true, true);
|
||||||
|
|
||||||
|
/*********************************
|
||||||
|
* EVENT event
|
||||||
|
*********************************/
|
||||||
|
|
||||||
|
File::put($folder.'/event.json', json_encode($event));
|
||||||
|
|
||||||
|
/*********************************
|
||||||
|
* EVENT statistics
|
||||||
|
*********************************/
|
||||||
|
|
||||||
|
$event_id = $event['id'];
|
||||||
|
|
||||||
|
$url = Nuh::$options['base_url']."api/v1/event/$event_id/statistics";
|
||||||
|
|
||||||
|
$rand = rand(500000, 1000000);
|
||||||
|
if ($debug) {
|
||||||
|
Notice::note("Sleep $rand msec", 'y');
|
||||||
|
}
|
||||||
|
usleep($rand);
|
||||||
|
|
||||||
|
$data = CurlSofa::load($url);
|
||||||
|
|
||||||
|
File::put($folder.'/statistics.json', json_encode($data));
|
||||||
|
|
||||||
|
/*********************************
|
||||||
|
* EVENT lineups
|
||||||
|
*********************************/
|
||||||
|
|
||||||
|
$event_id = $event['id'];
|
||||||
|
|
||||||
|
$url = Nuh::$options['base_url']."api/v1/event/$event_id/lineups";
|
||||||
|
|
||||||
|
$rand = rand(500000, 1000000);
|
||||||
|
if ($debug) {
|
||||||
|
Notice::note("Sleep $rand msec", 'y');
|
||||||
|
}
|
||||||
|
usleep($rand);
|
||||||
|
|
||||||
|
$data = CurlSofa::load($url);
|
||||||
|
|
||||||
|
File::put($folder.'/lineups.json', json_encode($data));
|
||||||
|
|
||||||
|
/*********************************
|
||||||
|
* EVENT lineups
|
||||||
|
*********************************/
|
||||||
|
|
||||||
|
$event_id = $event['id'];
|
||||||
|
|
||||||
|
$url = Nuh::$options['base_url']."api/v1/event/$event_id/odds/1/all";
|
||||||
|
|
||||||
|
$rand = rand(500000, 1000000);
|
||||||
|
if ($debug) {
|
||||||
|
Notice::note("Sleep $rand msec", 'y');
|
||||||
|
}
|
||||||
|
usleep($rand);
|
||||||
|
|
||||||
|
$data = CurlSofa::load($url);
|
||||||
|
|
||||||
|
File::put($folder.'/odds.json', json_encode($data));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,8 +11,8 @@ ini_set('magic_quotes_runtime', false);
|
|||||||
|
|
||||||
class Special
|
class Special
|
||||||
{
|
{
|
||||||
|
|
||||||
public static $max_days = 30;
|
public static $max_days = 30;
|
||||||
|
|
||||||
public static Carbon $days_back;
|
public static Carbon $days_back;
|
||||||
|
|
||||||
public static $storage_path = '/Console/Commands/Grapper/Sofascore/worldcup-teams/';
|
public static $storage_path = '/Console/Commands/Grapper/Sofascore/worldcup-teams/';
|
||||||
@@ -21,7 +21,7 @@ class Special
|
|||||||
{
|
{
|
||||||
$debug = Nuh::$options['d'] ?? 0;
|
$debug = Nuh::$options['d'] ?? 0;
|
||||||
|
|
||||||
$url = Nuh::$options['base_url'] . "/api/v1/world-cup/meet-the-team";
|
$url = Nuh::$options['base_url'].'/api/v1/world-cup/meet-the-team';
|
||||||
|
|
||||||
$rand = rand(500000, 1000000);
|
$rand = rand(500000, 1000000);
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
@@ -38,7 +38,7 @@ class Special
|
|||||||
$teams[] = [
|
$teams[] = [
|
||||||
'id' => $team['team']['id'],
|
'id' => $team['team']['id'],
|
||||||
'slug' => $team['team']['slug'],
|
'slug' => $team['team']['slug'],
|
||||||
'name' => $team['team']['name']
|
'name' => $team['team']['name'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -47,9 +47,9 @@ class Special
|
|||||||
|
|
||||||
Nuh::$options['s'] = 0;
|
Nuh::$options['s'] = 0;
|
||||||
|
|
||||||
Nuh::$options['r'] = 0;
|
Nuh::$options['r'] = 0;
|
||||||
|
|
||||||
$url = 'https://www.sofascore.com/api/v1/team/' . $team['id'] . '/events/last/0';
|
$url = 'https://www.sofascore.com/api/v1/team/'.$team['id'].'/events/last/0';
|
||||||
|
|
||||||
$data = CurlSofa::load($url);
|
$data = CurlSofa::load($url);
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ class Special
|
|||||||
|
|
||||||
$starttime = Carbon::createFromTimestamp($event['startTimestamp'])->format('Y-m-d');
|
$starttime = Carbon::createFromTimestamp($event['startTimestamp'])->format('Y-m-d');
|
||||||
|
|
||||||
$folder = app_path() . self::$storage_path . $starttime . '/' . $event['tournament']['slug'] . '/' . $event['slug'];
|
$folder = app_path().self::$storage_path.$starttime.'/'.$event['tournament']['slug'].'/'.$event['slug'];
|
||||||
|
|
||||||
File::makeDirectory($folder, 0775, true, true);
|
File::makeDirectory($folder, 0775, true, true);
|
||||||
|
|
||||||
@@ -74,13 +74,13 @@ class Special
|
|||||||
* EVENT event basic
|
* EVENT event basic
|
||||||
*********************************/
|
*********************************/
|
||||||
|
|
||||||
File::put($folder . '/event.json', json_encode($event));
|
File::put($folder.'/event.json', json_encode($event));
|
||||||
|
|
||||||
/*********************************
|
/*********************************
|
||||||
* EVENT statistics
|
* EVENT statistics
|
||||||
*********************************/
|
*********************************/
|
||||||
|
|
||||||
$url = Nuh::$options['base_url'] . "api/v1/event/$event_id/statistics";
|
$url = Nuh::$options['base_url']."api/v1/event/$event_id/statistics";
|
||||||
|
|
||||||
$rand = rand(500000, 1000000);
|
$rand = rand(500000, 1000000);
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
@@ -90,13 +90,13 @@ class Special
|
|||||||
|
|
||||||
$data = CurlSofa::load($url);
|
$data = CurlSofa::load($url);
|
||||||
|
|
||||||
File::put($folder . '/statistics.json', json_encode($data));
|
File::put($folder.'/statistics.json', json_encode($data));
|
||||||
|
|
||||||
/*********************************
|
/*********************************
|
||||||
* EVENT lineups
|
* EVENT lineups
|
||||||
*********************************/
|
*********************************/
|
||||||
|
|
||||||
$url = Nuh::$options['base_url'] . "api/v1/event/$event_id/lineups";
|
$url = Nuh::$options['base_url']."api/v1/event/$event_id/lineups";
|
||||||
|
|
||||||
$rand = rand(500000, 1000000);
|
$rand = rand(500000, 1000000);
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
@@ -106,14 +106,14 @@ class Special
|
|||||||
|
|
||||||
$data = CurlSofa::load($url);
|
$data = CurlSofa::load($url);
|
||||||
|
|
||||||
File::put($folder . '/lineups.json', json_encode($data));
|
File::put($folder.'/lineups.json', json_encode($data));
|
||||||
|
|
||||||
/*********************************
|
/*********************************
|
||||||
* EVENT lineups
|
* EVENT lineups
|
||||||
*********************************/
|
*********************************/
|
||||||
$event_id = $event['id'];
|
$event_id = $event['id'];
|
||||||
|
|
||||||
$url = Nuh::$options['base_url'] . "api/v1/event/$event_id/odds/1/all";
|
$url = Nuh::$options['base_url']."api/v1/event/$event_id/odds/1/all";
|
||||||
|
|
||||||
$rand = rand(500000, 1000000);
|
$rand = rand(500000, 1000000);
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
@@ -123,7 +123,7 @@ class Special
|
|||||||
|
|
||||||
$data = CurlSofa::load($url);
|
$data = CurlSofa::load($url);
|
||||||
|
|
||||||
File::put($folder . '/odds.json', json_encode($data));
|
File::put($folder.'/odds.json', json_encode($data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ use Filament\Actions\DeleteBulkAction;
|
|||||||
use Filament\Actions\EditAction;
|
use Filament\Actions\EditAction;
|
||||||
use Filament\Forms\Components\TextInput;
|
use Filament\Forms\Components\TextInput;
|
||||||
use Filament\Support\Enums\FontWeight;
|
use Filament\Support\Enums\FontWeight;
|
||||||
use Filament\Support\Enums\Size;
|
|
||||||
use Filament\Support\Enums\TextSize;
|
use Filament\Support\Enums\TextSize;
|
||||||
use Filament\Tables\Columns\Layout\Split;
|
use Filament\Tables\Columns\Layout\Split;
|
||||||
use Filament\Tables\Columns\Layout\Stack;
|
use Filament\Tables\Columns\Layout\Stack;
|
||||||
@@ -42,7 +41,7 @@ class SupervisorsTable
|
|||||||
->weight(FontWeight::Black)
|
->weight(FontWeight::Black)
|
||||||
->size(TextSize::Large),
|
->size(TextSize::Large),
|
||||||
TextColumn::make('provider.name')
|
TextColumn::make('provider.name')
|
||||||
->color(fn($record): string => match ($record->provider_id) {
|
->color(fn ($record): string => match ($record->provider_id) {
|
||||||
1 => 'danger',
|
1 => 'danger',
|
||||||
8 => 'danger',
|
8 => 'danger',
|
||||||
2 => 'success',
|
2 => 'success',
|
||||||
@@ -107,7 +106,8 @@ class SupervisorsTable
|
|||||||
case 12:
|
case 12:
|
||||||
return [
|
return [
|
||||||
'TOURNAMENTS' => 'TOURNAMENTS',
|
'TOURNAMENTS' => 'TOURNAMENTS',
|
||||||
'EVENTS' => 'EVENTS',
|
'EVENTS' => 'EVENTS Comandline',
|
||||||
|
'EVENTSDB' => 'EVENTS Database',
|
||||||
'SPECIAL' => 'SPECIAL',
|
'SPECIAL' => 'SPECIAL',
|
||||||
];
|
];
|
||||||
default:
|
default:
|
||||||
@@ -118,7 +118,7 @@ class SupervisorsTable
|
|||||||
->hidden(function (ListSupervisors $livewire) {
|
->hidden(function (ListSupervisors $livewire) {
|
||||||
return in_array($livewire->tableFilters['provider_id']['value'], [11]);
|
return in_array($livewire->tableFilters['provider_id']['value'], [11]);
|
||||||
})
|
})
|
||||||
->options(fn() => Sport::where('is_active', 1)->pluck('name', 'id'))
|
->options(fn () => Sport::where('is_active', 1)->pluck('name', 'id'))
|
||||||
->placeholder('All'),
|
->placeholder('All'),
|
||||||
SelectColumn::make('txodds_market_id')
|
SelectColumn::make('txodds_market_id')
|
||||||
->visible(function (ListSupervisors $livewire) {
|
->visible(function (ListSupervisors $livewire) {
|
||||||
@@ -153,7 +153,7 @@ class SupervisorsTable
|
|||||||
TextColumn::make('lastcall')
|
TextColumn::make('lastcall')
|
||||||
->prefix('Lastcall: ')
|
->prefix('Lastcall: ')
|
||||||
->badge()
|
->badge()
|
||||||
->color(fn($state): string => ($state > 0 && $state > time() - 300) ? 'success' : 'danger')
|
->color(fn ($state): string => ($state > 0 && $state > time() - 300) ? 'success' : 'danger')
|
||||||
->dateTime()
|
->dateTime()
|
||||||
->visible(function (ListSupervisors $livewire) {
|
->visible(function (ListSupervisors $livewire) {
|
||||||
return $livewire->tableFilters['provider_id']['value'] == 8;
|
return $livewire->tableFilters['provider_id']['value'] == 8;
|
||||||
|
|||||||
+56
-25
@@ -5,12 +5,8 @@ namespace App\Filament\Clusters\StaticData\Resources\SofaScoreDays\Tables;
|
|||||||
use App\Models\SofaScoreDay;
|
use App\Models\SofaScoreDay;
|
||||||
use App\Models\Sport;
|
use App\Models\Sport;
|
||||||
use Filament\Actions\Action;
|
use Filament\Actions\Action;
|
||||||
use Filament\Actions\BulkActionGroup;
|
|
||||||
use Filament\Actions\DeleteBulkAction;
|
|
||||||
use Filament\Actions\EditAction;
|
|
||||||
use Filament\Forms\Components\Select;
|
use Filament\Forms\Components\Select;
|
||||||
use Filament\Forms\Components\Toggle;
|
use Filament\Forms\Components\Toggle;
|
||||||
use Filament\Tables\Columns\IconColumn;
|
|
||||||
use Filament\Tables\Columns\TextColumn;
|
use Filament\Tables\Columns\TextColumn;
|
||||||
use Filament\Tables\Columns\ToggleColumn;
|
use Filament\Tables\Columns\ToggleColumn;
|
||||||
use Filament\Tables\Enums\FiltersLayout;
|
use Filament\Tables\Enums\FiltersLayout;
|
||||||
@@ -26,16 +22,53 @@ class SofaScoreDaysTable
|
|||||||
{
|
{
|
||||||
return $table
|
return $table
|
||||||
->description('For days checked events active in tournaments will be grapped.')
|
->description('For days checked events active in tournaments will be grapped.')
|
||||||
->headerActions([
|
->headerActions([
|
||||||
Action::make('reset')->icon('phosphor-power')->action(fn() => SofaScoreDay::query()->update(['football' => 0])),
|
Action::make('generate')->icon('phosphor-calendar')
|
||||||
|
->schema([
|
||||||
|
Select::make('sport_id')
|
||||||
|
->options(Sport::where('is_active', 1)
|
||||||
|
->pluck('name', 'id'))
|
||||||
|
->required(),
|
||||||
|
Select::make('year')
|
||||||
|
->options(self::years())
|
||||||
|
->required(),
|
||||||
|
Select::make('month')
|
||||||
|
->options(self::month())
|
||||||
|
->required(),
|
||||||
|
])
|
||||||
|
->action(function (array $data, $table): void {
|
||||||
|
$sport_id = $data['sport_id'];
|
||||||
|
$date = Carbon::createFromDate($data['year'], $data['month'], 1)->startOfMonth();
|
||||||
|
$daysCount = $date->daysInMonth;
|
||||||
|
|
||||||
|
$allDates = [];
|
||||||
|
for ($i = 1; $i <= $daysCount; $i++) {
|
||||||
|
$allDates[] = $date->copy()->day($i)->format('Y-m-d');
|
||||||
|
}
|
||||||
|
foreach ($allDates as $day) {
|
||||||
|
SofaScoreDay::updateOrCreate(['day' => $day, 'sport_id' => $sport_id]);
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
Action::make('reset')
|
||||||
|
->icon('phosphor-power')
|
||||||
|
->schema([
|
||||||
|
Select::make('sport_id')
|
||||||
|
->options(Sport::where('is_active', 1)
|
||||||
|
->pluck('name', 'id'))
|
||||||
|
->required(),
|
||||||
|
])
|
||||||
|
->action(function (array $data): void {
|
||||||
|
$sport_id = $data['sport_id'];
|
||||||
|
SofaScoreDay::where('sport_id', $sport_id)->update(['enabled' => 0]);
|
||||||
|
}),
|
||||||
])
|
])
|
||||||
->columns([
|
->columns([
|
||||||
TextColumn::make('day')->sortable(),
|
|
||||||
TextColumn::make('sport.name'),
|
TextColumn::make('sport.name'),
|
||||||
|
TextColumn::make('day')->sortable(),
|
||||||
ToggleColumn::make('enabled'),
|
ToggleColumn::make('enabled'),
|
||||||
])
|
])
|
||||||
->filters([
|
->filters([
|
||||||
Filter::make('day')
|
Filter::make('filter')
|
||||||
->columns(4)->columnSpan(4)
|
->columns(4)->columnSpan(4)
|
||||||
->schema([
|
->schema([
|
||||||
Select::make('sport_id')
|
Select::make('sport_id')
|
||||||
@@ -50,13 +83,13 @@ class SofaScoreDaysTable
|
|||||||
->query(function (Builder $query, array $data): Builder {
|
->query(function (Builder $query, array $data): Builder {
|
||||||
return $query->when(
|
return $query->when(
|
||||||
$data['year'],
|
$data['year'],
|
||||||
fn(Builder $query, $year): Builder => $query->whereYear('day', $year),
|
fn (Builder $query, $year): Builder => $query->whereYear('day', $year),
|
||||||
)->when(
|
)->when(
|
||||||
$data['month'],
|
$data['month'],
|
||||||
fn(Builder $query, $month): Builder => $query->whereMonth('day', $month),
|
fn (Builder $query, $month): Builder => $query->whereMonth('day', $month),
|
||||||
)->when(
|
)->when(
|
||||||
$data['enabled'],
|
$data['enabled'],
|
||||||
fn(Builder $query, $enabled): Builder => $query->where('enabled', $enabled),
|
fn (Builder $query, $enabled): Builder => $query->where('enabled', $enabled),
|
||||||
);
|
);
|
||||||
})->indicateUsing(function (array $data): array {
|
})->indicateUsing(function (array $data): array {
|
||||||
$indicators = [];
|
$indicators = [];
|
||||||
@@ -66,31 +99,29 @@ class SofaScoreDaysTable
|
|||||||
if ($data['month'] ?? null) {
|
if ($data['month'] ?? null) {
|
||||||
$indicators[] = Indicator::make('Month: '.$data['month']);
|
$indicators[] = Indicator::make('Month: '.$data['month']);
|
||||||
}
|
}
|
||||||
return $indicators;
|
|
||||||
}),
|
return $indicators;
|
||||||
|
}),
|
||||||
], layout: FiltersLayout::AboveContent)
|
], layout: FiltersLayout::AboveContent)
|
||||||
->deferFilters(false)
|
->persistFiltersInSession()
|
||||||
->recordActions([
|
->deferFilters(false);
|
||||||
EditAction::make(),
|
|
||||||
])
|
|
||||||
->toolbarActions([
|
|
||||||
BulkActionGroup::make([
|
|
||||||
// DeleteBulkAction::make(),
|
|
||||||
]),
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function years() {
|
public static function years()
|
||||||
$years = range(date('Y'), date('Y')-10);
|
{
|
||||||
|
$years = range(date('Y'), date('Y') - 10);
|
||||||
|
|
||||||
return array_combine($years, $years);
|
return array_combine($years, $years);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function month() {
|
public static function month()
|
||||||
|
{
|
||||||
$months = [];
|
$months = [];
|
||||||
for ($m = 1; $m <= 12; $m++) {
|
for ($m = 1; $m <= 12; $m++) {
|
||||||
$date = Carbon::create(null, $m, 1);
|
$date = Carbon::create(null, $m, 1);
|
||||||
$months[$date->format('m')] = $date->format('F');
|
$months[$date->format('m')] = $date->format('F');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $months;
|
return $months;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+92
-92
@@ -33,121 +33,121 @@ class SofaScoreTournamentsTable
|
|||||||
->icon('phosphor-power')
|
->icon('phosphor-power')
|
||||||
->requiresConfirmation()
|
->requiresConfirmation()
|
||||||
->modalDescription('This will disable all leagues for soccer')
|
->modalDescription('This will disable all leagues for soccer')
|
||||||
->action(fn() => SofaScoreTournament::where('sport_id', 1)->update(['enabled' => 0])
|
->action(fn () => SofaScoreTournament::where('sport_id', 1)->update(['enabled' => 0])
|
||||||
),
|
),
|
||||||
Action::make('ice-hockey')
|
Action::make('ice-hockey')
|
||||||
->icon('phosphor-power')
|
->icon('phosphor-power')
|
||||||
->requiresConfirmation()
|
->requiresConfirmation()
|
||||||
->modalDescription('This will disable all leagues for ice hockey')
|
->modalDescription('This will disable all leagues for ice hockey')
|
||||||
->action(fn() => SofaScoreTournament::where('sport_id', 2)->update(['enabled' => 0])
|
->action(fn () => SofaScoreTournament::where('sport_id', 2)->update(['enabled' => 0])
|
||||||
),
|
),
|
||||||
Action::make('basketball')
|
Action::make('basketball')
|
||||||
->icon('phosphor-power')
|
->icon('phosphor-power')
|
||||||
->requiresConfirmation()
|
->requiresConfirmation()
|
||||||
->modalDescription('This will disable all leagues for basketball')
|
->modalDescription('This will disable all leagues for basketball')
|
||||||
->action(fn() => SofaScoreTournament::where('sport_id', 3)->update(['enabled' => 0])
|
->action(fn () => SofaScoreTournament::where('sport_id', 3)->update(['enabled' => 0])
|
||||||
),
|
),
|
||||||
Action::make('tennis')
|
Action::make('tennis')
|
||||||
->icon('phosphor-power')
|
->icon('phosphor-power')
|
||||||
->requiresConfirmation()
|
->requiresConfirmation()
|
||||||
->modalDescription('This will disable all leagues for tennis')
|
->modalDescription('This will disable all leagues for tennis')
|
||||||
->action(fn() => SofaScoreTournament::where('sport_id', 5)->update(['enabled' => 0])
|
->action(fn () => SofaScoreTournament::where('sport_id', 5)->update(['enabled' => 0])
|
||||||
),
|
),
|
||||||
])
|
])
|
||||||
->poll()
|
->poll()
|
||||||
->columns([
|
->columns([
|
||||||
IconColumn::make('sport.icon')
|
IconColumn::make('sport.icon')
|
||||||
->label('')
|
->label('')
|
||||||
->grow(false)
|
->grow(false)
|
||||||
->width(30)
|
->width(30)
|
||||||
->color(fn($record) => $record->sport->color)
|
->color(fn ($record) => $record->sport->color)
|
||||||
->icon(fn($record) => $record->sport->icon)
|
->icon(fn ($record) => $record->sport->icon)
|
||||||
->size(IconSize::Medium)
|
->size(IconSize::Medium)
|
||||||
->tooltip(fn($record) => $record->id)
|
->tooltip(fn ($record) => $record->id)
|
||||||
->visibleFrom('lg'),
|
->visibleFrom('lg'),
|
||||||
TextColumn::make('tournament_id')->sortable(),
|
TextColumn::make('tournament_id')->sortable()->searchable(),
|
||||||
TextColumn::make('sport.name'),
|
TextColumn::make('sport.name'),
|
||||||
TextColumn::make('sofascore_category.name')
|
TextColumn::make('sofascore_category.name')
|
||||||
->icon(fn($record) => $record->sofascore_category->country->icon),
|
->icon(fn ($record) => $record->sofascore_category->country->icon),
|
||||||
TextColumn::make('name')->searchable()->sortable(),
|
TextColumn::make('name')->searchable()->sortable(),
|
||||||
ToggleColumn::make('enabled'),
|
ToggleColumn::make('enabled'),
|
||||||
])
|
])
|
||||||
->filters([
|
->filters([
|
||||||
Filter::make('filters')
|
Filter::make('filters')
|
||||||
->columns(3)->columnSpan(3)
|
->columns(3)->columnSpan(3)
|
||||||
->schema([
|
->schema([
|
||||||
Select::make('sport_id')
|
Select::make('sport_id')
|
||||||
->default(1)
|
->default(1)
|
||||||
->selectablePlaceholder(false)
|
->selectablePlaceholder(false)
|
||||||
->label('Sport')
|
->label('Sport')
|
||||||
->options(Sport::where('is_active', 1)->pluck('name', 'id'))
|
->options(Sport::where('is_active', 1)->pluck('name', 'id'))
|
||||||
->afterStateUpdated(function (callable $set) {
|
->afterStateUpdated(function (callable $set) {
|
||||||
$set('sofa_score_categorie_id', null);
|
$set('sofa_score_categorie_id', null);
|
||||||
})
|
})
|
||||||
->live(),
|
->live(),
|
||||||
Select::make('sofa_score_categorie_id')
|
Select::make('sofa_score_categorie_id')
|
||||||
->searchable()
|
->searchable()
|
||||||
->multiple()
|
->multiple()
|
||||||
->label('Categorie')
|
->label('Categorie')
|
||||||
->options(function (Get $get) {
|
->options(function (Get $get) {
|
||||||
$res = SofaScoreTournament::where('sport_id', $get('sport_id'))
|
$res = SofaScoreTournament::where('sport_id', $get('sport_id'))
|
||||||
->groupBy('sofa_score_categorie_id')
|
->groupBy('sofa_score_categorie_id')
|
||||||
->pluck('sofa_score_categorie_id')
|
->pluck('sofa_score_categorie_id')
|
||||||
->toArray();
|
->toArray();
|
||||||
|
|
||||||
return SofaScoreCategorie::query()->whereIn('id', $res)->orderBy('name')->pluck('name', 'id');
|
return SofaScoreCategorie::query()->whereIn('id', $res)->orderBy('name')->pluck('name', 'id');
|
||||||
})
|
})
|
||||||
->live(),
|
->live(),
|
||||||
DatePicker::make('day')->live(),
|
DatePicker::make('day')->live(),
|
||||||
])
|
])
|
||||||
->query(function (Builder $query, array $data): Builder {
|
->query(function (Builder $query, array $data): Builder {
|
||||||
return $query->when(
|
return $query->when(
|
||||||
$data['sport_id'],
|
$data['sport_id'],
|
||||||
fn(Builder $query, $sport_id) => $query->where('sport_id', $sport_id)
|
fn (Builder $query, $sport_id) => $query->where('sport_id', $sport_id)
|
||||||
)->when(
|
)->when(
|
||||||
$data['sofa_score_categorie_id'],
|
$data['sofa_score_categorie_id'],
|
||||||
function (Builder $query, $sofa_score_categorie_id) {
|
function (Builder $query, $sofa_score_categorie_id) {
|
||||||
if (is_array($sofa_score_categorie_id)) {
|
if (is_array($sofa_score_categorie_id)) {
|
||||||
$query->whereIn('sofa_score_categorie_id', $sofa_score_categorie_id);
|
$query->whereIn('sofa_score_categorie_id', $sofa_score_categorie_id);
|
||||||
} else {
|
} else {
|
||||||
$query->where('sofa_score_categorie_id', $sofa_score_categorie_id);
|
$query->where('sofa_score_categorie_id', $sofa_score_categorie_id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
)->when(
|
||||||
)->when(
|
$data['day'],
|
||||||
$data['day'],
|
function (Builder $query, $day) {
|
||||||
function (Builder $query, $day) {
|
$res = SofaScoreDayTournament::where('day', $day)->pluck('tournament_id')->toArray();
|
||||||
$res = SofaScoreDayTournament::where('day', $day)->pluck('tournament_id')->toArray();
|
$query->whereIn('tournament_id', $res);
|
||||||
$query->whereIn('tournament_id', $res);
|
}
|
||||||
}
|
);
|
||||||
);
|
}),
|
||||||
}),
|
TernaryFilter::make('enabled')->placeholder('All'),
|
||||||
TernaryFilter::make('enabled')->placeholder('All'),
|
|
||||||
], layout: FiltersLayout::AboveContent)
|
], layout: FiltersLayout::AboveContent)
|
||||||
->deferFilters(false)
|
->deferFilters(false)
|
||||||
->toolbarActions([
|
->toolbarActions([
|
||||||
BulkActionGroup::make([
|
BulkActionGroup::make([
|
||||||
BulkAction::make('Enable')
|
BulkAction::make('Enable')
|
||||||
->icon('phosphor-toggle-right-fill')
|
->icon('phosphor-toggle-right-fill')
|
||||||
->color('primary')
|
->color('primary')
|
||||||
->action(function (Collection $records): void {
|
->action(function (Collection $records): void {
|
||||||
foreach ($records as $record) {
|
foreach ($records as $record) {
|
||||||
SofaScoreTournament::where('id', '=', $record->id)
|
SofaScoreTournament::where('id', '=', $record->id)
|
||||||
->update(
|
->update(
|
||||||
['enabled' => 1]
|
['enabled' => 1]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
BulkAction::make('Disable')
|
BulkAction::make('Disable')
|
||||||
->icon('phosphor-toggle-left-fill')
|
->icon('phosphor-toggle-left-fill')
|
||||||
->color('gray')
|
->color('gray')
|
||||||
->action(function (Collection $records): void {
|
->action(function (Collection $records): void {
|
||||||
foreach ($records as $record) {
|
foreach ($records as $record) {
|
||||||
SofaScoreTournament::where('id', '=', $record->id)
|
SofaScoreTournament::where('id', '=', $record->id)
|
||||||
->update(
|
->update(
|
||||||
['enabled' => 0]
|
['enabled' => 0]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
]),
|
]),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+92
-12
@@ -4457,24 +4457,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": "*"
|
||||||
@@ -4526,11 +4526,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",
|
||||||
@@ -8027,6 +8023,90 @@
|
|||||||
],
|
],
|
||||||
"time": "2026-04-10T16:19:22+00:00"
|
"time": "2026-04-10T16:19:22+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/polyfill-iconv",
|
||||||
|
"version": "v1.37.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/polyfill-iconv.git",
|
||||||
|
"reference": "2c5729fd241b4b22f6e4b436bc3354a4f262df57"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/2c5729fd241b4b22f6e4b436bc3354a4f262df57",
|
||||||
|
"reference": "2c5729fd241b4b22f6e4b436bc3354a4f262df57",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=7.2"
|
||||||
|
},
|
||||||
|
"provide": {
|
||||||
|
"ext-iconv": "*"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-iconv": "For best performance"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"thanks": {
|
||||||
|
"url": "https://github.com/symfony/polyfill",
|
||||||
|
"name": "symfony/polyfill"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"bootstrap.php"
|
||||||
|
],
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Polyfill\\Iconv\\": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Nicolas Grekas",
|
||||||
|
"email": "p@tchwork.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Symfony Community",
|
||||||
|
"homepage": "https://symfony.com/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Symfony polyfill for the Iconv extension",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"keywords": [
|
||||||
|
"compatibility",
|
||||||
|
"iconv",
|
||||||
|
"polyfill",
|
||||||
|
"portable",
|
||||||
|
"shim"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/polyfill-iconv/tree/v1.37.0"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://symfony.com/sponsor",
|
||||||
|
"type": "custom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/fabpot",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/nicolas-grekas",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2026-04-10T16:19:22+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-grapheme",
|
"name": "symfony/polyfill-intl-grapheme",
|
||||||
"version": "v1.38.1",
|
"version": "v1.38.1",
|
||||||
|
|||||||
Reference in new issue
Block a user