popup and grapper wip
This commit is contained in:
1 parent
a3c9f16550
commit
c9588f39b6
18 files changed
+656
-156248
No files matched your search
@@ -5,6 +5,7 @@ namespace App\Console\Commands\Grapper;
|
|||||||
use App\Console\Commands\Grapper\Betsapi\Bwin;
|
use App\Console\Commands\Grapper\Betsapi\Bwin;
|
||||||
use App\Console\Commands\Grapper\Betsapi\Fixtures;
|
use App\Console\Commands\Grapper\Betsapi\Fixtures;
|
||||||
use App\Console\Commands\Grapper\Betsapi\Odds;
|
use App\Console\Commands\Grapper\Betsapi\Odds;
|
||||||
|
use App\Console\Commands\Grapper\Betsapi\Willhill;
|
||||||
use App\Console\Commands\Nuh;
|
use App\Console\Commands\Nuh;
|
||||||
use App\Utilities\Notice;
|
use App\Utilities\Notice;
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ class Bwin
|
|||||||
|
|
||||||
$sportmap = Sport::map('bwin');
|
$sportmap = Sport::map('bwin');
|
||||||
|
|
||||||
|
$sportmap = [4];
|
||||||
|
|
||||||
$total = 1;
|
$total = 1;
|
||||||
foreach ($sportmap as $sport_id => $bwin_sport_id) {
|
foreach ($sportmap as $sport_id => $bwin_sport_id) {
|
||||||
|
|
||||||
@@ -25,28 +27,32 @@ class Bwin
|
|||||||
/**
|
/**
|
||||||
* BWIN ODDS & BETRADAR ID (per page)
|
* BWIN ODDS & BETRADAR ID (per page)
|
||||||
*/
|
*/
|
||||||
$url = 'https://api.b365api.com/v1/bwin/prematch?token='.config('env.betsapi_token').'&page=###page###&sport_id='.$bwin_sport_id;
|
$base_url = 'https://api.b365api.com/v1/bwin/prematch?token='.config('env.betsapi_token').'&skip_markets=1&page=###page###&sport_id='.$bwin_sport_id;
|
||||||
|
|
||||||
while ($page <= $total) {
|
while ($page <= $total) {
|
||||||
|
|
||||||
$url = str_replace('###page###', $page, $url);
|
$url = str_replace('###page###', $page, $base_url);
|
||||||
|
|
||||||
$data = Curl::load($url);
|
$data = Curl::load($url);
|
||||||
|
|
||||||
$page++;
|
|
||||||
|
|
||||||
$total = round($data['pager']['total'] / $data['pager']['per_page']);
|
$total = round($data['pager']['total'] / $data['pager']['per_page']);
|
||||||
|
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
Notice::note("Page: $page \nTotal: $total");
|
Notice::note("Page: $page \nTotal: $total");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$page++;
|
||||||
|
|
||||||
if (isset($data['results'])) {
|
if (isset($data['results'])) {
|
||||||
foreach ($data['results'] as $event) {
|
foreach ($data['results'] as $event) {
|
||||||
|
|
||||||
$bwin_id = $event['Id'];
|
$betsapi_id = $event['our_event_id'] ?? 0;
|
||||||
$betradar_id = $event['BetRadarId'] ?? 0;
|
$betradar_id = $event['BetRadarId'] ?? 0;
|
||||||
$betsapi_id = $event['our_event_id'];
|
$bwin_id = $event['Id'] ?? 0;
|
||||||
|
|
||||||
|
if ($debug) {
|
||||||
|
Notice::note(["Betsapi ID : $betsapi_id", "Betradar ID : $betradar_id", "Bwin ID : $bwin_id"]);
|
||||||
|
}
|
||||||
|
|
||||||
if ($betradar_id) {
|
if ($betradar_id) {
|
||||||
Event::where('betsapi_id', (int) $betsapi_id)->update(['betradar_id' => $betradar_id, 'bwin_id' => $bwin_id]);
|
Event::where('betsapi_id', (int) $betsapi_id)->update(['betradar_id' => $betradar_id, 'bwin_id' => $bwin_id]);
|
||||||
|
|||||||
@@ -17,49 +17,61 @@ class Fixtures
|
|||||||
|
|
||||||
$sportmap = Sport::map('bapi');
|
$sportmap = Sport::map('bapi');
|
||||||
|
|
||||||
$total = 1;
|
$now = Carbon::now();
|
||||||
foreach ($sportmap as $sport_id => $betsapi_sport_id) {
|
|
||||||
$page = 1;
|
|
||||||
while ($page <= $total) {
|
|
||||||
|
|
||||||
$url = "https://api.b365api.com/v3/events/upcoming?sport_id=$betsapi_sport_id&page=$page&skip_esports=1&token=".config('env.betsapi_token');
|
for ($i = 0; $i < 30; $i++) {
|
||||||
|
|
||||||
$data = Curl::load($url);
|
|
||||||
|
|
||||||
$page++;
|
|
||||||
|
|
||||||
$total = round($data['pager']['total'] / $data['pager']['per_page']);
|
|
||||||
|
|
||||||
if ($debug) {
|
|
||||||
Notice::note("Page: $page \nTotal: $total");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($data['results'])) {
|
|
||||||
|
|
||||||
foreach ($data['results'] as $row) {
|
|
||||||
|
|
||||||
$event = [
|
|
||||||
'sport_id' => (int) $sport_id,
|
|
||||||
'provider_id' => (int) Nuh::$options['provider_id'],
|
|
||||||
'starttime' => Carbon::createFromTimestamp((string) $row['time'])->toDateTimeString(),
|
|
||||||
'home' => $row['home']['name'] ?? '',
|
|
||||||
'home_id' => (int) $row['home']['id'],
|
|
||||||
'home_cc' => $row['home']['cc'] ?? '',
|
|
||||||
'away' => $row['away']['name'] ?? '',
|
|
||||||
'away_id' => (int) $row['away']['id'],
|
|
||||||
'away_cc' => $row['away']['cc'] ?? '',
|
|
||||||
'group' => $row['league']['name'] ?? '',
|
|
||||||
'group_id' => (int) $row['league']['id'] ?? 0,
|
|
||||||
'group_cc' => $row['league']['cc'] ?? '',
|
|
||||||
];
|
|
||||||
|
|
||||||
Mapper::updateOrCreate(['event_id' => (int) $row['id']], $event);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
Notice::note('FIRST LOOP', 'g', 1);
|
Notice::note('Day: '.$now->format('d. M Y'), 'g');
|
||||||
|
}
|
||||||
|
|
||||||
|
$base_url = 'https://api.b365api.com/v3/events/upcoming?sport_id=###sport_id###&page=###page###&day='.$now->format('Ymd').'skip_esports=1&token='.config('env.betsapi_token');
|
||||||
|
|
||||||
|
$now->addDays(1);
|
||||||
|
|
||||||
|
$total = 1;
|
||||||
|
foreach ($sportmap as $sport_id => $betsapi_sport_id) {
|
||||||
|
|
||||||
|
$sport_url = str_replace('###sport_id###', $sport_id, $base_url);
|
||||||
|
|
||||||
|
$page = 1;
|
||||||
|
while ($page <= $total) {
|
||||||
|
|
||||||
|
$url = str_replace('###page###', $page, $sport_url);
|
||||||
|
|
||||||
|
$data = Curl::load($url);
|
||||||
|
|
||||||
|
$page++;
|
||||||
|
|
||||||
|
$total = round($data['pager']['total'] / $data['pager']['per_page']);
|
||||||
|
|
||||||
|
if ($debug) {
|
||||||
|
Notice::note("Page: $page \nTotal: $total");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($data['results'])) {
|
||||||
|
|
||||||
|
foreach ($data['results'] as $row) {
|
||||||
|
|
||||||
|
$event = [
|
||||||
|
'sport_id' => (int) $sport_id,
|
||||||
|
'provider_id' => (int) Nuh::$options['provider_id'],
|
||||||
|
'starttime' => Carbon::createFromTimestamp((string) $row['time'])->toDateTimeString(),
|
||||||
|
'home' => $row['home']['name'] ?? '',
|
||||||
|
'home_id' => (int) $row['home']['id'],
|
||||||
|
'home_cc' => $row['home']['cc'] ?? '',
|
||||||
|
'away' => $row['away']['name'] ?? '',
|
||||||
|
'away_id' => (int) $row['away']['id'],
|
||||||
|
'away_cc' => $row['away']['cc'] ?? '',
|
||||||
|
'group' => $row['league']['name'] ?? '',
|
||||||
|
'group_id' => (int) $row['league']['id'] ?? 0,
|
||||||
|
'group_cc' => $row['league']['cc'] ?? '',
|
||||||
|
];
|
||||||
|
|
||||||
|
Mapper::updateOrCreate(['event_id' => (int) $row['id']], $event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,26 +21,25 @@ class Fixtures
|
|||||||
|
|
||||||
$count = 0;
|
$count = 0;
|
||||||
$total = 0;
|
$total = 0;
|
||||||
|
|
||||||
$now = Carbon::now();
|
$now = Carbon::now();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete
|
* Delete
|
||||||
*/
|
*/
|
||||||
// $info = 0;
|
// $info = 0;
|
||||||
$info = Event::where('starttime', '<', $now->toDateTimeString())->delete();
|
$info = Event::where('starttime', '<', Carbon::now()->toDateTimeString())->delete();
|
||||||
|
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
Notice::note("Deleted: $info");
|
Notice::note("Deleted: $info");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Grap
|
* Grap
|
||||||
*/
|
*/
|
||||||
for ($i = 0; $i < 30; $i++) {
|
for ($i = 0; $i < 30; $i++) {
|
||||||
|
|
||||||
$from = $now->addDays($i)->toDateString();
|
$url = 'https://xml2.txodds.com/feed/result/xml.php?'.Nuh::$AUTHTOKEN.'&date='.$now->toDateString().','.$now->addDays(1)->toDateString();
|
||||||
$to = $now->addDays($i + 1)->toDateString();
|
|
||||||
|
|
||||||
$url = 'https://xml2.txodds.com/feed/result/xml.php?'.Nuh::$AUTHTOKEN."&date=$from,$to";
|
|
||||||
|
|
||||||
$data = Xml::load($url);
|
$data = Xml::load($url);
|
||||||
|
|
||||||
@@ -94,12 +93,12 @@ class Fixtures
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
Notice::note("$from - $count events processed", 'g');
|
Notice::note($now->toDateString()." - $count events processed", 'g');
|
||||||
}
|
}
|
||||||
|
|
||||||
$total += $count;
|
$total += $count;
|
||||||
|
|
||||||
if ($break || $debug) {
|
if ($break) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -137,6 +137,10 @@ class Odds
|
|||||||
dd($data);
|
dd($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($debug) {
|
||||||
|
Notice::note('call counter: '.$counter, 'g');
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($data as $row) {
|
foreach ($data as $row) {
|
||||||
|
|
||||||
$event = [
|
$event = [
|
||||||
|
|||||||
+331
-156067
File diff suppressed because it is too large.
Load diff
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
namespace App\Filament\Resources\Events\Tables;
|
namespace App\Filament\Resources\Events\Tables;
|
||||||
|
|
||||||
use App\Filament\Tables\Columns\MultilineColumn;
|
use App\Filament\Tables\Columns\Columns3way;
|
||||||
|
use App\Filament\Tables\Columns\MatchIds;
|
||||||
use App\Models\Country;
|
use App\Models\Country;
|
||||||
use App\Models\Event;
|
use App\Models\Event;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
@@ -34,12 +35,12 @@ class EventsTable
|
|||||||
->size(IconSize::ExtraLarge)
|
->size(IconSize::ExtraLarge)
|
||||||
->icon(fn ($record) => $record->sport->icon)
|
->icon(fn ($record) => $record->sport->icon)
|
||||||
->tooltip(fn ($record) => $record->id),
|
->tooltip(fn ($record) => $record->id),
|
||||||
TextColumn::make('txodds_id')
|
MatchIds::make('match_ids'),
|
||||||
->state(fn ($record) => $record->id)
|
TextColumn::make('id')->hidden()->searchable(),
|
||||||
->description(fn ($record) => $record->betsapi_id)
|
TextColumn::make('betsapi_id')->hidden()->searchable(),
|
||||||
->copyable()
|
TextColumn::make('betradar_id')->hidden()->searchable(),
|
||||||
->label('Id')
|
TextColumn::make('bet365_id')->hidden()->searchable(),
|
||||||
->alignCenter(),
|
TextColumn::make('bwin_id')->hidden()->searchable(),
|
||||||
TextColumn::make('starttime')
|
TextColumn::make('starttime')
|
||||||
->label('Start')
|
->label('Start')
|
||||||
->alignCenter()
|
->alignCenter()
|
||||||
@@ -57,9 +58,7 @@ class EventsTable
|
|||||||
->alignRight(),
|
->alignRight(),
|
||||||
TextColumn::make('away.name')
|
TextColumn::make('away.name')
|
||||||
->searchable(),
|
->searchable(),
|
||||||
MultilineColumn::make('id')
|
Columns3way::make('odds3way')->label(fn () => view('filament.tables.columns.multiline.label')),
|
||||||
->searchable()
|
|
||||||
->label(fn () => view('filament.tables.columns.multiline.label')),
|
|
||||||
])
|
])
|
||||||
->poll('10s')
|
->poll('10s')
|
||||||
->defaultSort('starttime', 'ASC')
|
->defaultSort('starttime', 'ASC')
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Tables\Columns;
|
||||||
|
|
||||||
|
use App\Models\Odds3way;
|
||||||
|
use Filament\Tables\Columns\Column;
|
||||||
|
|
||||||
|
class Columns3way extends Column
|
||||||
|
{
|
||||||
|
protected string $view = 'filament.tables.columns.columns_3way';
|
||||||
|
|
||||||
|
protected ?array $multiline;
|
||||||
|
|
||||||
|
protected ?array $fumetto;
|
||||||
|
|
||||||
|
public function loadData($record, $multiline_client)
|
||||||
|
{
|
||||||
|
|
||||||
|
$res = Odds3way::with('bookmaker')->where('event_id', $record->id)->get();
|
||||||
|
|
||||||
|
$this->fumetto = [];
|
||||||
|
|
||||||
|
$this->multiline = [];
|
||||||
|
|
||||||
|
foreach ($res as $item) {
|
||||||
|
|
||||||
|
$this->fumetto[] = $item;
|
||||||
|
foreach ($multiline_client as $slot => $bookmaker) {
|
||||||
|
if ($item->bookmaker_id == $bookmaker->bookmaker_id) {
|
||||||
|
$this->multiline[$slot] = $item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// $this->multiline = [];
|
||||||
|
|
||||||
|
// foreach ($multiline_client as $slot => $bookmaker) {
|
||||||
|
|
||||||
|
// $open = true;
|
||||||
|
|
||||||
|
// foreach ($this->fumetto as $item) {
|
||||||
|
// if ($item['bookmaker_id'] == $bookmaker->bookmaker_id) {
|
||||||
|
// $this->multiline[$slot] = $item;
|
||||||
|
// $open = false;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// if ($open) {
|
||||||
|
// $item = new stdClass;
|
||||||
|
// $item['icon'] = $bookmaker->bookmaker->icon;
|
||||||
|
// $item['h3w'] = 0;
|
||||||
|
// $item['d3w'] = 0;
|
||||||
|
// $item['a3w'] = 0;
|
||||||
|
// $item['margin'] = 0;
|
||||||
|
// $item['bookmaker_id'] = $bookmaker->bookmaker_id;
|
||||||
|
// $this->multiline[$slot] = $item;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getMultilines(): ?array
|
||||||
|
{
|
||||||
|
return $this->multiline;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getFumetto()
|
||||||
|
{
|
||||||
|
return $this->fumetto;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Tables\Columns;
|
||||||
|
|
||||||
|
use Filament\Tables\Columns\Column;
|
||||||
|
|
||||||
|
class MatchIds extends Column
|
||||||
|
{
|
||||||
|
protected string $view = 'filament.tables.columns.match-ids';
|
||||||
|
}
|
||||||
@@ -1,113 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Filament\Tables\Columns;
|
|
||||||
|
|
||||||
use Filament\Tables\Columns\Column;
|
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
use stdClass;
|
|
||||||
|
|
||||||
class MultilineColumn extends Column
|
|
||||||
{
|
|
||||||
protected string $view = 'filament.tables.columns.multiline.main';
|
|
||||||
|
|
||||||
protected ?array $slots;
|
|
||||||
|
|
||||||
protected $settings;
|
|
||||||
|
|
||||||
public function loadSlots($event_id, $bookmakers)
|
|
||||||
{
|
|
||||||
$systemSettings = app('systemSettings');
|
|
||||||
$this->settings = $systemSettings[auth()->user()->multiline_setting_id];
|
|
||||||
|
|
||||||
$odds = DB::table($this->settings->table)->where('event_id', $event_id)->get();
|
|
||||||
|
|
||||||
$this->makeSlots($odds, $bookmakers);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public function has3Columns(): ?int
|
|
||||||
{
|
|
||||||
return $this->settings->has_3_columns;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getSlots(): ?array
|
|
||||||
{
|
|
||||||
return $this->slots;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function makeSlots(&$odds, $bookmakers)
|
|
||||||
{
|
|
||||||
|
|
||||||
$multilines = [];
|
|
||||||
|
|
||||||
foreach ($bookmakers as $slot => $bookmaker) {
|
|
||||||
|
|
||||||
$open = true;
|
|
||||||
|
|
||||||
foreach ($odds as $item) {
|
|
||||||
if ($item->bookmaker_id == $bookmaker->bookmaker_id) {
|
|
||||||
$item->icon = $bookmaker->bookmaker->icon;
|
|
||||||
$item->table = $this->settings['table'];
|
|
||||||
switch ($this->settings->table) {
|
|
||||||
case 'odds_2ways':
|
|
||||||
case 'odds_2ways_s1':
|
|
||||||
$item->a = $item->h3w;
|
|
||||||
$item->c = $item->a3w;
|
|
||||||
break;
|
|
||||||
case 'odds_3ways':
|
|
||||||
$item->a = $item->h3w;
|
|
||||||
$item->b = $item->d3w;
|
|
||||||
$item->c = $item->a3w;
|
|
||||||
break;
|
|
||||||
case 'odds_dc':
|
|
||||||
$item->a = $item->dc1x;
|
|
||||||
$item->b = $item->dc12;
|
|
||||||
$item->c = $item->dc2x;
|
|
||||||
break;
|
|
||||||
case 'odds_dnb':
|
|
||||||
$item->a = $item->dnb1;
|
|
||||||
$item->c = $item->dnb2;
|
|
||||||
break;
|
|
||||||
case 'odds_ggng':
|
|
||||||
$item->a = $item->gg;
|
|
||||||
$item->c = $item->ng;
|
|
||||||
break;
|
|
||||||
case 'odds_handicaps':
|
|
||||||
case 'odds_handicaps_q1':
|
|
||||||
$item->a = $item->home;
|
|
||||||
$item->b = $item->away;
|
|
||||||
$item->c = $item->handicap;
|
|
||||||
break;
|
|
||||||
case 'odds_qualify':
|
|
||||||
$item->a = $item->htq;
|
|
||||||
$item->c = $item->atq;
|
|
||||||
break;
|
|
||||||
case 'odds_totals':
|
|
||||||
case 'odds_totals_q1':
|
|
||||||
$item->a = $item->over;
|
|
||||||
$item->b = $item->under;
|
|
||||||
$item->c = $item->total;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
// code...
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
$multilines[$slot] = $item;
|
|
||||||
$open = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($open) {
|
|
||||||
$item = new stdClass;
|
|
||||||
$item->icon = $bookmaker->bookmaker->icon;
|
|
||||||
$item->bookmaker_id = $bookmaker->bookmaker_id;
|
|
||||||
$item->a = 0;
|
|
||||||
$item->b = 0;
|
|
||||||
$item->c = 0;
|
|
||||||
$item->margin = 0;
|
|
||||||
$multilines[$slot] = $item;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->slots = $multilines;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Tables\Columns;
|
||||||
|
|
||||||
|
use App\Models\Odds3way;
|
||||||
|
use App\Models\OddsDc;
|
||||||
|
use App\Models\OddsDnb;
|
||||||
|
use Filament\Tables\Columns\Column;
|
||||||
|
|
||||||
|
class MultilineColumn extends Column
|
||||||
|
{
|
||||||
|
protected string $view = 'filament.tables.columns.multiline.main';
|
||||||
|
|
||||||
|
protected ?array $fumetto;
|
||||||
|
|
||||||
|
protected ?array $settings;
|
||||||
|
|
||||||
|
public function has3Columns(): ?int
|
||||||
|
{
|
||||||
|
return $this->settings->has_3_columns;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getFumetto()
|
||||||
|
{
|
||||||
|
return $this->fumetto;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function laodFumetto($event_id)
|
||||||
|
{
|
||||||
|
$systemSettings = app('systemSettings');
|
||||||
|
|
||||||
|
$this->settings = $systemSettings[auth()->user()->multiline_setting_id];
|
||||||
|
|
||||||
|
switch ($this->settings->table) {
|
||||||
|
case 'odds_2ways':
|
||||||
|
$this->fumetto = Odds2way::with('bookmaker')->where('event_id', $event_id)->get();
|
||||||
|
break;
|
||||||
|
case 'odds_2ways_s1':
|
||||||
|
$this->fumetto = Odds2wayS1::with('bookmaker')->where('event_id', $event_id)->get();
|
||||||
|
break;
|
||||||
|
case 'odds_3ways':
|
||||||
|
$this->fumetto = Odds3way::with('bookmaker')->where('event_id', $event_id)->get();
|
||||||
|
break;
|
||||||
|
case 'odds_dc':
|
||||||
|
$this->fumetto = OddsDc::with('bookmaker')->where('event_id', $event_id)->get();
|
||||||
|
break;
|
||||||
|
case 'odds_dnb':
|
||||||
|
$this->fumetto = OddsDnb::with('bookmaker')->where('event_id', $event_id)->get();
|
||||||
|
break;
|
||||||
|
case 'odds_ggng':
|
||||||
|
$this->fumetto = OddsGgng::with('bookmaker')->where('event_id', $event_id)->get();
|
||||||
|
break;
|
||||||
|
case 'odds_handicaps':
|
||||||
|
$this->fumetto = OddsHandicap::with('bookmaker')->where('event_id', $event_id)->get();
|
||||||
|
break;
|
||||||
|
case 'odds_handicaps_q1':
|
||||||
|
$this->fumetto = OddsHandicapQ1::with('bookmaker')->where('event_id', $event_id)->get();
|
||||||
|
break;
|
||||||
|
case 'odds_qualify':
|
||||||
|
$this->fumetto = OddsQualify::with('bookmaker')->where('event_id', $event_id)->get();
|
||||||
|
break;
|
||||||
|
case 'odds_totals':
|
||||||
|
$this->fumetto = OddsTotal::with('bookmaker')->where('event_id', $event_id)->get();
|
||||||
|
break;
|
||||||
|
case 'odds_totals_q1':
|
||||||
|
$this->fumetto = OddsTotalQ1::with('bookmaker')->where('event_id', $event_id)->get();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Generated
+2
@@ -1990,6 +1990,7 @@
|
|||||||
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
@@ -2223,6 +2224,7 @@
|
|||||||
"integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==",
|
"integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esbuild": "^0.27.0",
|
"esbuild": "^0.27.0",
|
||||||
"fdir": "^6.5.0",
|
"fdir": "^6.5.0",
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
@php
|
||||||
|
$loadData($record, $record->multiline_client);
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
@include('filament.tables.columns.multiline.fumetto')
|
||||||
|
|
||||||
|
<div {{ $getExtraAttributeBag() }} class="grid grid-cols-5 grid-rows-5 text-xs">
|
||||||
|
|
||||||
|
@foreach ($getMultilines() as $item)
|
||||||
|
@include('filament.tables.columns.multiline.bkm', [
|
||||||
|
'bookmaker_id' => $item->bookmaker_id,
|
||||||
|
'icon' => $item->bookmaker->icon,
|
||||||
|
])
|
||||||
|
|
||||||
|
@include('filament.tables.columns.multiline.odds', ['odd' => $item->h3w, 'decimal' => 2])
|
||||||
|
|
||||||
|
@include('filament.tables.columns.multiline.odds', ['odd' => $item->d3w, 'decimal' => 2])
|
||||||
|
|
||||||
|
@include('filament.tables.columns.multiline.odds', ['odd' => $item->a3w, 'decimal' => 2])
|
||||||
|
|
||||||
|
@include('filament.tables.columns.multiline.odds', ['odd' => $item->margin, 'decimal' => 1])
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<div class="grid grid-cols-2 text-xs">
|
||||||
|
<div>TxOdds</div>
|
||||||
|
<div>
|
||||||
|
{{ $record->id }}
|
||||||
|
</div>
|
||||||
|
<div>BetsApi</div>
|
||||||
|
<div>
|
||||||
|
{{ $record->betsapi_id }}
|
||||||
|
</div>
|
||||||
|
<div>Betradar</div>
|
||||||
|
<div>
|
||||||
|
{{ $record->betradar_id }}
|
||||||
|
</div>
|
||||||
|
<div>Bet365</div>
|
||||||
|
<div>
|
||||||
|
{{ $record->bet365_id }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
@php
|
@php
|
||||||
use App\Utilities\BkmIconMap;
|
use App\Utilities\BkmIconMap;
|
||||||
@endphp
|
@endphp
|
||||||
<div class="w-12 bg-contain bg-center bg-no-repeat dark:opacity-90" title="{{ $bookmaker_id }}"
|
|
||||||
style="background-image: url('{{ BkmIconMap::get($icon) }}')">
|
@if (isset($icon))
|
||||||
</div>
|
<div class="w-12 bg-contain bg-center bg-no-repeat dark:opacity-90" title="{{ $bookmaker_id }}"
|
||||||
|
style="background-image: url('{{ BkmIconMap::get($icon) }}')">
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
<div class="mx-3 my-auto" x-data="{ open: false }">
|
||||||
|
<div x-on:mouseover="open = true" x-on:mouseleave="open = false">
|
||||||
|
<x-filament::icon-button icon="heroicon-o-chat-bubble-left-ellipsis" color="alert gray" />
|
||||||
|
</div>
|
||||||
|
<div x-show="open" x-transition:enter="transition ease-out duration-200"
|
||||||
|
x-transition:enter-start="opacity-0 transform translate-y-2"
|
||||||
|
x-transition:enter-end="opacity-100 transform translate-y-0">
|
||||||
|
<div
|
||||||
|
class="absolute z-10 bg-gray-100 dark:bg-gray-800 p-5 border border-gray-300 dark:border-gray-900 rounded-md">
|
||||||
|
<div class="grid grid-cols-5 grid-rows-5 gap-2">
|
||||||
|
|
||||||
|
@foreach ($getFumetto() as $item)
|
||||||
|
@include('filament.tables.columns.multiline.bkm', [
|
||||||
|
'bookmaker_id' => $item->bookmaker_id,
|
||||||
|
'icon' => $item->bookmaker->icon,
|
||||||
|
])
|
||||||
|
|
||||||
|
@include('filament.tables.columns.multiline.odds', [
|
||||||
|
'odd' => $item->h3w,
|
||||||
|
'decimal' => 2,
|
||||||
|
])
|
||||||
|
|
||||||
|
@include('filament.tables.columns.multiline.odds', [
|
||||||
|
'odd' => $item->d3w,
|
||||||
|
'decimal' => 2,
|
||||||
|
])
|
||||||
|
|
||||||
|
@include('filament.tables.columns.multiline.odds', [
|
||||||
|
'odd' => $item->a3w,
|
||||||
|
'decimal' => 2,
|
||||||
|
])
|
||||||
|
|
||||||
|
@include('filament.tables.columns.multiline.odds', [
|
||||||
|
'odd' => $item->margin,
|
||||||
|
'decimal' => 1,
|
||||||
|
])
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<div class="flex justify-start gap-0 text-xs">
|
<div class="flex justify-start gap-0 text-xs">
|
||||||
<div class="w-12 text-center"></div>
|
<div class="w-8 text-center"></div>
|
||||||
@switch(auth()->user()->multiline_setting_id)
|
@switch(auth()->user()->multiline_setting_id)
|
||||||
@case(1)
|
@case(1)
|
||||||
@case(13)
|
@case(13)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
@foreach ($getSlots() as $item)
|
@foreach ($getSlots() as $item)
|
||||||
@include('filament.tables.columns.multiline.bkm', [
|
@include('filament.tables.columns.multiline.bkm', [
|
||||||
'icon' => $item->icon,
|
'icon' => $item?->bookmaker->icon,
|
||||||
'bookmaker_id' => $item->bookmaker_id,
|
'bookmaker_id' => $item->bookmaker_id,
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user