add txodds markets as a resource
This commit is contained in:
1 parent
e14404ec8b
commit
5fa1d02dbd
26 files changed
+921
-55
No files matched your search
@@ -42,7 +42,7 @@ class SupervisorMaker
|
|||||||
$content .= 'autorestart=true'.PHP_EOL;
|
$content .= 'autorestart=true'.PHP_EOL;
|
||||||
|
|
||||||
$file = $path.'/'.$process.'.ini';
|
$file = $path.'/'.$process.'.ini';
|
||||||
if ($supervisor->is_active && ! $supervisor->is_cron) {
|
if ($supervisor->is_active && $supervisor->is_supervisor) {
|
||||||
file_put_contents($file, $content);
|
file_put_contents($file, $content);
|
||||||
chmod($file, 0777);
|
chmod($file, 0777);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -96,8 +96,6 @@ class Odds
|
|||||||
|
|
||||||
*************************************************/
|
*************************************************/
|
||||||
|
|
||||||
$debug = Nuh::$options['d'] ?? 0;
|
|
||||||
|
|
||||||
switch (Nuh::$options['sport_id']) {
|
switch (Nuh::$options['sport_id']) {
|
||||||
case 1:
|
case 1:
|
||||||
/**
|
/**
|
||||||
@@ -149,6 +147,13 @@ class Odds
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*************************************************
|
||||||
|
* use_lastcall
|
||||||
|
*************************************************/
|
||||||
|
if (Nuh::$options['use_lastcall']) {
|
||||||
|
$lastcall = Nuh::$options['lastcall'] ? '&last='.Nuh::$options['lastcall'] : '';
|
||||||
|
}
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
* URL
|
* URL
|
||||||
*************************************************/
|
*************************************************/
|
||||||
@@ -165,26 +170,15 @@ class Odds
|
|||||||
Notice::note("BY ID \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
Notice::note("BY ID \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* by SINGLE ID
|
* by specific ID
|
||||||
*/
|
*/
|
||||||
$_calls[] = $url."&ot=$markets&peid=".Nuh::$options['id'];
|
$_calls[] = $url."&ot=$markets&peid=".Nuh::$options['id'];
|
||||||
} elseif (Nuh::$options['a']) {
|
|
||||||
if ($debug) {
|
|
||||||
Notice::note("ALL \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* ALL by ID
|
|
||||||
*/
|
|
||||||
$res = Event::where('sport_id', Nuh::$options['sport_id'])->where('starttime', '>', Carbon::now()->toDateTimeString())->pluck('id');
|
|
||||||
foreach ($res as $id) {
|
|
||||||
$_calls[] = $url."&ot=$markets&peid=".$id;
|
|
||||||
}
|
|
||||||
} elseif (Nuh::$options['g']) {
|
} elseif (Nuh::$options['g']) {
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
Notice::note("GROUP_ID \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
Notice::note("GROUP_ID \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* PER GROUP_ID
|
* per group_id
|
||||||
* with from-to
|
* with from-to
|
||||||
*/
|
*/
|
||||||
$groupids = Event::where('starttime', '>', Carbon::now()->toDateTimeString())->groupBy('group_id')->pluck('group_id');
|
$groupids = Event::where('starttime', '>', Carbon::now()->toDateTimeString())->groupBy('group_id')->pluck('group_id');
|
||||||
@@ -197,7 +191,7 @@ class Odds
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODAY
|
* today
|
||||||
*/
|
*/
|
||||||
$from = Carbon::now()->toDateTimeString();
|
$from = Carbon::now()->toDateTimeString();
|
||||||
$to = Carbon::now()->addDays(1)->toDateTimeString();
|
$to = Carbon::now()->addDays(1)->toDateTimeString();
|
||||||
@@ -211,13 +205,23 @@ class Odds
|
|||||||
Notice::note("WEEK \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
Notice::note("WEEK \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* ONE WEEK
|
* week from now
|
||||||
*/
|
*/
|
||||||
$res = Event::where('sport_id', Nuh::$options['sport_id'])->where('starttime', '>', Carbon::now()->toDateTimeString())->where('starttime', '<', Carbon::now()->addDays(7)->toDateTimeString())->pluck('id');
|
$res = Event::where('sport_id', Nuh::$options['sport_id'])->where('starttime', '>', Carbon::now()->toDateTimeString())->where('starttime', '<', Carbon::now()->addDays(7)->toDateTimeString())->pluck('id');
|
||||||
foreach ($res as $id) {
|
foreach ($res as $id) {
|
||||||
$_calls[] = $url."&ot=$markets&peid=".$id;
|
$_calls[] = $url."&ot=$markets&peid=".$id;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
if ($debug) {
|
||||||
|
Notice::note("ALL \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* ALL by ID
|
||||||
|
*/
|
||||||
|
$res = Event::where('sport_id', Nuh::$options['sport_id'])->where('starttime', '>', Carbon::now()->toDateTimeString())->pluck('id');
|
||||||
|
foreach ($res as $id) {
|
||||||
|
$_calls[] = $url."&ot=$markets&peid=".$id;
|
||||||
|
}
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
Notice::note("LASTCALL \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
Notice::note("LASTCALL \nsport_id: ".Nuh::$options['sport_id'], 'p');
|
||||||
}
|
}
|
||||||
@@ -226,7 +230,7 @@ class Odds
|
|||||||
|
|
||||||
* with from-to days
|
* with from-to days
|
||||||
*/
|
*/
|
||||||
$_calls[] = $url.'&spid='.Nuh::$options['sport_id']."&ot=$markets&days=".Nuh::$options['days_from'].','.Nuh::$options['days_to'].'&last='.Nuh::$options['lastcall'];
|
$_calls[] = $url.'&spid='.Nuh::$options['sport_id']."&ot=$markets&days=".Nuh::$options['days_from'].','.Nuh::$options['days_to'].$lastcall;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands\Maintenance;
|
||||||
|
|
||||||
|
use App\Console\Commands\Maintenance\Tasks\CallTxoddsMarkets;
|
||||||
|
use App\Console\Commands\Nuh;
|
||||||
|
|
||||||
|
class Services
|
||||||
|
{
|
||||||
|
public static function switch()
|
||||||
|
{
|
||||||
|
switch (Nuh::$options['name']) {
|
||||||
|
case 'Txodds Markets':
|
||||||
|
CallTxoddsMarkets::call();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands\Maintenance\Tasks;
|
||||||
|
|
||||||
|
use App\Console\Commands\Nuh;
|
||||||
|
use App\Console\Commands\Xml;
|
||||||
|
use App\Models\TxoddsMarket;
|
||||||
|
use App\Utilities\Notice;
|
||||||
|
|
||||||
|
class CallTxoddsMarkets
|
||||||
|
{
|
||||||
|
public static function call()
|
||||||
|
{
|
||||||
|
$debug = Nuh::$options['d'] ?? 0;
|
||||||
|
|
||||||
|
if ($debug) {
|
||||||
|
Notice::note('TxoddsMarkets', 'b');
|
||||||
|
}
|
||||||
|
|
||||||
|
$url = 'https://xml2.txodds.com/feed/odds_types.php';
|
||||||
|
|
||||||
|
$data = Xml::load($url);
|
||||||
|
|
||||||
|
foreach ($data as $row) {
|
||||||
|
|
||||||
|
$market = [
|
||||||
|
'shortname' => $row->sname,
|
||||||
|
'name' => (string) $row->name,
|
||||||
|
];
|
||||||
|
|
||||||
|
TxoddsMarket::updateOrCreate(['market_id' => (int) $row->ot], $market);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,6 +6,8 @@ use App\Console\Commands\Grapper\Betsapi;
|
|||||||
use App\Console\Commands\Grapper\Logifuture;
|
use App\Console\Commands\Grapper\Logifuture;
|
||||||
use App\Console\Commands\Grapper\Magloo;
|
use App\Console\Commands\Grapper\Magloo;
|
||||||
use App\Console\Commands\Grapper\TxOdds;
|
use App\Console\Commands\Grapper\TxOdds;
|
||||||
|
use App\Console\Commands\Maintenance\Services;
|
||||||
|
use App\Console\Services\Service;
|
||||||
use App\Models\Supervisor;
|
use App\Models\Supervisor;
|
||||||
use App\Utilities\Notice;
|
use App\Utilities\Notice;
|
||||||
use App\Utilities\Supervisorctl;
|
use App\Utilities\Supervisorctl;
|
||||||
@@ -24,7 +26,7 @@ class Nuh extends Command
|
|||||||
|
|
||||||
public static $BETSAPI_TOKEN = '36152-aeTRNnZxSPUwGe';
|
public static $BETSAPI_TOKEN = '36152-aeTRNnZxSPUwGe';
|
||||||
|
|
||||||
protected $signature = 'nuh {process=help} {--id=0} {--f=} {--a} {--p} {--d} {--x} {--t} {--w} {--g} {--r} {--s} {--t} {--q}';
|
protected $signature = 'nuh {process=help} {--id=0} {--f=} {--p} {--d} {--x} {--t} {--w} {--g} {--r} {--s} {--t} {--q}';
|
||||||
|
|
||||||
protected $description = 'Nuh';
|
protected $description = 'Nuh';
|
||||||
|
|
||||||
@@ -41,11 +43,10 @@ class Nuh extends Command
|
|||||||
$txt .= '----------------------------------------------'.PHP_EOL;
|
$txt .= '----------------------------------------------'.PHP_EOL;
|
||||||
$txt .= 'process [id] (required)'.PHP_EOL;
|
$txt .= 'process [id] (required)'.PHP_EOL;
|
||||||
$txt .= '--id=matchid (optional) calling spezific id'.PHP_EOL;
|
$txt .= '--id=matchid (optional) calling spezific id'.PHP_EOL;
|
||||||
$txt .= '--f=name (optional) [bookmaker_sport]'.PHP_EOL;
|
$txt .= '--f=name (optional) [bkms, markets]'.PHP_EOL;
|
||||||
$txt .= '----------------------------------------------'.PHP_EOL.PHP_EOL;
|
$txt .= '----------------------------------------------'.PHP_EOL.PHP_EOL;
|
||||||
$txt .= 'Options'.PHP_EOL;
|
$txt .= 'Options'.PHP_EOL;
|
||||||
$txt .= '----------------------------------------------'.PHP_EOL;
|
$txt .= '----------------------------------------------'.PHP_EOL;
|
||||||
$txt .= '--a reload all'.PHP_EOL;
|
|
||||||
$txt .= '--p use proxy'.PHP_EOL;
|
$txt .= '--p use proxy'.PHP_EOL;
|
||||||
$txt .= '--d debug'.PHP_EOL;
|
$txt .= '--d debug'.PHP_EOL;
|
||||||
$txt .= '--x generate supervisors'.PHP_EOL;
|
$txt .= '--x generate supervisors'.PHP_EOL;
|
||||||
@@ -100,6 +101,10 @@ class Nuh extends Command
|
|||||||
// LOGIFUTUR COLOMBIA
|
// LOGIFUTUR COLOMBIA
|
||||||
Logifuture::switch();
|
Logifuture::switch();
|
||||||
break;
|
break;
|
||||||
|
case 7:
|
||||||
|
// SERVICE
|
||||||
|
Services::switch();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
Notice::note('Provider not defined', 'r', 1);
|
Notice::note('Provider not defined', 'r', 1);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -21,13 +21,13 @@ class SupervisorForm
|
|||||||
->relationship('sport', 'name')
|
->relationship('sport', 'name')
|
||||||
->nullable(),
|
->nullable(),
|
||||||
|
|
||||||
TextInput::make('sleep')->default(15),
|
TextInput::make('sleep')->default(30),
|
||||||
TextInput::make('maxsconds')->label('Seconds till throwing an error')->default(1800),
|
TextInput::make('maxsconds')->label('Seconds till throwing an error')->default(1800),
|
||||||
Section::make('Run processes paralell for speed')
|
Section::make('Run processes paralell for speed')
|
||||||
->description('Set start and end days if more processes grap the same data')
|
->description('Set start and end days if more processes grap the same data')
|
||||||
->schema([
|
->schema([
|
||||||
TextInput::make('days_from')->columns(1),
|
TextInput::make('days_from')->columns(1)->default(0),
|
||||||
TextInput::make('days_to')->columns(1),
|
TextInput::make('days_to')->columns(1)->default(1),
|
||||||
])->columns(2)->columnSpanFull(),
|
])->columns(2)->columnSpanFull(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,13 +33,6 @@ class SupervisorResource extends Resource
|
|||||||
return SupervisorsTable::configure($table);
|
return SupervisorsTable::configure($table);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getRelations(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
//
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function getPages(): array
|
public static function getPages(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
|||||||
@@ -34,14 +34,35 @@ class SupervisorsTable
|
|||||||
default => 'warning',
|
default => 'warning',
|
||||||
}),
|
}),
|
||||||
SelectColumn::make('name')
|
SelectColumn::make('name')
|
||||||
->options([
|
->options(function ($record) {
|
||||||
'Fixtures' => 'Fixtures',
|
switch ($record->provider_id) {
|
||||||
'Odds' => 'Odds',
|
case 1:
|
||||||
'Willhill' => 'Willhill',
|
case 3:
|
||||||
'Bwin' => 'Bwin',
|
case 4:
|
||||||
'Bet365' => 'Bet365',
|
case 5:
|
||||||
'Betfair' => 'Betfair',
|
case 6:
|
||||||
]),
|
return [
|
||||||
|
'Fixtures' => 'Fixtures',
|
||||||
|
'Odds' => 'Odds',
|
||||||
|
];
|
||||||
|
case 2:
|
||||||
|
return [
|
||||||
|
'Fixtures' => 'Fixtures',
|
||||||
|
'Odds' => 'Odds',
|
||||||
|
'Willhill' => 'Willhill',
|
||||||
|
'Bwin' => 'Bwin',
|
||||||
|
'Bet365' => 'Bet365',
|
||||||
|
'Betfair' => 'Betfair',
|
||||||
|
];
|
||||||
|
case 7:
|
||||||
|
return [
|
||||||
|
'Txodds Markets' => 'Txodds Markets',
|
||||||
|
];
|
||||||
|
default:
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
}),
|
||||||
TextColumn::make('sport.name')->label('Sport'),
|
TextColumn::make('sport.name')->label('Sport'),
|
||||||
TextColumn::make('days_from')->label('From'),
|
TextColumn::make('days_from')->label('From'),
|
||||||
TextColumn::make('days_to')->label('To'),
|
TextColumn::make('days_to')->label('To'),
|
||||||
@@ -50,9 +71,9 @@ class SupervisorsTable
|
|||||||
TextInputColumn::make('commandline_options')->width('2rem'),
|
TextInputColumn::make('commandline_options')->width('2rem'),
|
||||||
|
|
||||||
// TextColumn::make('maxsconds')->label('Max Time'),
|
// TextColumn::make('maxsconds')->label('Max Time'),
|
||||||
// IconColumn::make('is_cron')->boolean()->label('Cron')->falseColor('gray'),
|
// IconColumn::make('is_supervisor')->boolean()->label('Cron')->falseColor('gray'),
|
||||||
ToggleColumn::make('use_lastcall')->label('Lastcall'),
|
ToggleColumn::make('use_lastcall')->label('Lastcall'),
|
||||||
ToggleColumn::make('is_cron')->label('Cron'),
|
ToggleColumn::make('is_supervisor')->label('Super')->tooltip('Create a supervisor process'),
|
||||||
ToggleColumn::make('is_active')->label('Active'),
|
ToggleColumn::make('is_active')->label('Active'),
|
||||||
])
|
])
|
||||||
->filters([
|
->filters([
|
||||||
@@ -60,7 +81,7 @@ class SupervisorsTable
|
|||||||
->default(1)
|
->default(1)
|
||||||
->relationship('provider', 'name')
|
->relationship('provider', 'name')
|
||||||
->label('Provider'),
|
->label('Provider'),
|
||||||
TernaryFilter::make('is_cron'),
|
TernaryFilter::make('is_supervisor'),
|
||||||
TernaryFilter::make('is_active'),
|
TernaryFilter::make('is_active'),
|
||||||
], layout: FiltersLayout::AboveContent)
|
], layout: FiltersLayout::AboveContent)
|
||||||
->deferFilters(false)
|
->deferFilters(false)
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Resources\TxoddsMarkets\Pages;
|
||||||
|
|
||||||
|
use App\Filament\Resources\TxoddsMarkets\TxoddsMarketResource;
|
||||||
|
use Filament\Resources\Pages\CreateRecord;
|
||||||
|
|
||||||
|
class CreateTxoddsMarket extends CreateRecord
|
||||||
|
{
|
||||||
|
protected static string $resource = TxoddsMarketResource::class;
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Resources\TxoddsMarkets\Pages;
|
||||||
|
|
||||||
|
use App\Filament\Resources\TxoddsMarkets\TxoddsMarketResource;
|
||||||
|
use Filament\Actions\DeleteAction;
|
||||||
|
use Filament\Resources\Pages\EditRecord;
|
||||||
|
|
||||||
|
class EditTxoddsMarket extends EditRecord
|
||||||
|
{
|
||||||
|
protected static string $resource = TxoddsMarketResource::class;
|
||||||
|
|
||||||
|
protected function getHeaderActions(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
DeleteAction::make(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Resources\TxoddsMarkets\Pages;
|
||||||
|
|
||||||
|
use App\Filament\Resources\TxoddsMarkets\TxoddsMarketResource;
|
||||||
|
use Filament\Actions\CreateAction;
|
||||||
|
use Filament\Resources\Pages\ListRecords;
|
||||||
|
|
||||||
|
class ListTxoddsMarkets extends ListRecords
|
||||||
|
{
|
||||||
|
protected static string $resource = TxoddsMarketResource::class;
|
||||||
|
|
||||||
|
protected function getHeaderActions(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
CreateAction::make(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Resources\TxoddsMarkets\Schemas;
|
||||||
|
|
||||||
|
use Filament\Schemas\Schema;
|
||||||
|
|
||||||
|
class TxoddsMarketForm
|
||||||
|
{
|
||||||
|
public static function configure(Schema $schema): Schema
|
||||||
|
{
|
||||||
|
return $schema
|
||||||
|
->components([
|
||||||
|
//
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Resources\TxoddsMarkets\Tables;
|
||||||
|
|
||||||
|
use Filament\Forms\Components\Select;
|
||||||
|
use Filament\Tables\Columns\TextColumn;
|
||||||
|
use Filament\Tables\Columns\ToggleColumn;
|
||||||
|
use Filament\Tables\Enums\FiltersLayout;
|
||||||
|
use Filament\Tables\Filters\Filter;
|
||||||
|
use Filament\Tables\Table;
|
||||||
|
use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
|
class TxoddsMarketsTable
|
||||||
|
{
|
||||||
|
public static function configure(Table $table): Table
|
||||||
|
{
|
||||||
|
return $table
|
||||||
|
->columns([
|
||||||
|
TextColumn::make('market_id')->badge()->searchable(),
|
||||||
|
TextColumn::make('name')->searchable(),
|
||||||
|
ToggleColumn::make('soccer')->toggleable(true),
|
||||||
|
ToggleColumn::make('ice_hockey')->toggleable(true),
|
||||||
|
ToggleColumn::make('basketball')->toggleable(true),
|
||||||
|
ToggleColumn::make('tennis')->toggleable(true),
|
||||||
|
])
|
||||||
|
->filters([
|
||||||
|
Filter::make('sport_market')
|
||||||
|
->schema([
|
||||||
|
Select::make(name: 'sport_market')
|
||||||
|
->placeholder('Filter Sport')
|
||||||
|
->hiddenLabel()
|
||||||
|
->label('')
|
||||||
|
->preload()
|
||||||
|
->options(function () {
|
||||||
|
return [
|
||||||
|
'soccer' => 'Soccer',
|
||||||
|
'ice_hockey' => 'Ice Hockey',
|
||||||
|
'basketball' => 'Basketball',
|
||||||
|
'tennis' => 'Tennis',
|
||||||
|
];
|
||||||
|
})
|
||||||
|
->live(),
|
||||||
|
])
|
||||||
|
->query(function (Builder $query, array $data): Builder {
|
||||||
|
return $query
|
||||||
|
->when(
|
||||||
|
$data['sport_market'],
|
||||||
|
fn (Builder $query, $sport_market) => $query->where($sport_market, 1)
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
], layout: FiltersLayout::AboveContent)
|
||||||
|
->deferColumnManager(false)
|
||||||
|
->deferFilters(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Resources\TxoddsMarkets;
|
||||||
|
|
||||||
|
use App\Filament\Clusters\Administrator\AdministratorCluster;
|
||||||
|
use App\Filament\Resources\TxoddsMarkets\Pages\ListTxoddsMarkets;
|
||||||
|
use App\Filament\Resources\TxoddsMarkets\Schemas\TxoddsMarketForm;
|
||||||
|
use App\Filament\Resources\TxoddsMarkets\Tables\TxoddsMarketsTable;
|
||||||
|
use App\Models\TxoddsMarket;
|
||||||
|
use Filament\Resources\Resource;
|
||||||
|
use Filament\Schemas\Schema;
|
||||||
|
use Filament\Tables\Table;
|
||||||
|
use UnitEnum;
|
||||||
|
|
||||||
|
class TxoddsMarketResource extends Resource
|
||||||
|
{
|
||||||
|
protected static ?string $model = TxoddsMarket::class;
|
||||||
|
|
||||||
|
protected static string|\BackedEnum|null $navigationIcon = 'phosphor-storefront';
|
||||||
|
|
||||||
|
protected static ?string $cluster = AdministratorCluster::class;
|
||||||
|
|
||||||
|
protected static ?int $navigationSort = 24;
|
||||||
|
|
||||||
|
protected static string|UnitEnum|null $navigationGroup = 'Grapper';
|
||||||
|
|
||||||
|
public static function form(Schema $schema): Schema
|
||||||
|
{
|
||||||
|
return TxoddsMarketForm::configure($schema);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function table(Table $table): Table
|
||||||
|
{
|
||||||
|
return TxoddsMarketsTable::configure($table);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getPages(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'index' => ListTxoddsMarkets::route('/'),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getNavigationBadge(): ?string
|
||||||
|
{
|
||||||
|
return parent::getEloquentQuery()->count();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -16,7 +16,7 @@ class Supervisor extends Model
|
|||||||
'commandline_options',
|
'commandline_options',
|
||||||
'maxsconds',
|
'maxsconds',
|
||||||
'lastcall',
|
'lastcall',
|
||||||
'is_cron',
|
'is_supervisor',
|
||||||
'is_active',
|
'is_active',
|
||||||
'days_from',
|
'days_from',
|
||||||
'days_to',
|
'days_to',
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class TxoddsMarket extends Model
|
||||||
|
{
|
||||||
|
protected $fillable = [
|
||||||
|
'market_id',
|
||||||
|
'shortname',
|
||||||
|
'name',
|
||||||
|
'soccer',
|
||||||
|
'ice_hockey',
|
||||||
|
'basketball',
|
||||||
|
'tennis',
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -46,7 +46,7 @@ class Supervisorctl
|
|||||||
if (! $debug) {
|
if (! $debug) {
|
||||||
sleep($options['sleep']);
|
sleep($options['sleep']);
|
||||||
} else {
|
} else {
|
||||||
if ($options['is_cron']) {
|
if ($options['is_supervisor']) {
|
||||||
Notice::note('cron process timings set in crontab', 'b');
|
Notice::note('cron process timings set in crontab', 'b');
|
||||||
} else {
|
} else {
|
||||||
Notice::note('in production process sleeps for '.$options['sleep'].'sec', 'b');
|
Notice::note('in production process sleeps for '.$options['sleep'].'sec', 'b');
|
||||||
|
|||||||
Generated
+4
-4
@@ -9133,12 +9133,12 @@
|
|||||||
"version": "v3.16.3",
|
"version": "v3.16.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/barryvdh/laravel-debugbar.git",
|
"url": "https://github.com/fruitcake/laravel-debugbar.git",
|
||||||
"reference": "c91e57ea113edd6526f5b8cd6b1c6ee02c67b28e"
|
"reference": "c91e57ea113edd6526f5b8cd6b1c6ee02c67b28e"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/c91e57ea113edd6526f5b8cd6b1c6ee02c67b28e",
|
"url": "https://api.github.com/repos/fruitcake/laravel-debugbar/zipball/c91e57ea113edd6526f5b8cd6b1c6ee02c67b28e",
|
||||||
"reference": "c91e57ea113edd6526f5b8cd6b1c6ee02c67b28e",
|
"reference": "c91e57ea113edd6526f5b8cd6b1c6ee02c67b28e",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
@@ -9198,8 +9198,8 @@
|
|||||||
"webprofiler"
|
"webprofiler"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/barryvdh/laravel-debugbar/issues",
|
"issues": "https://github.com/fruitcake/laravel-debugbar/issues",
|
||||||
"source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.16.3"
|
"source": "https://github.com/fruitcake/laravel-debugbar/tree/v3.16.3"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ return new class extends Migration
|
|||||||
$table->text('app_authentication_secret')->nullable();
|
$table->text('app_authentication_secret')->nullable();
|
||||||
$table->text('app_authentication_recovery_codes')->nullable();
|
$table->text('app_authentication_recovery_codes')->nullable();
|
||||||
$table->boolean('has_email_authentication')->default(false);
|
$table->boolean('has_email_authentication')->default(false);
|
||||||
|
$table->boolean('stars_status')->default(false);
|
||||||
$table->timestamp('app_verified_at')->nullable();
|
$table->timestamp('app_verified_at')->nullable();
|
||||||
|
|
||||||
$table->rememberToken();
|
$table->rememberToken();
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ return new class extends Migration
|
|||||||
$table->id();
|
$table->id();
|
||||||
$table->string('name');
|
$table->string('name');
|
||||||
$table->integer('provider_id')->default(0)->nullable()->references('id')->on('providers');
|
$table->integer('provider_id')->default(0)->nullable()->references('id')->on('providers');
|
||||||
$table->integer('sport_id')->references('id')->on('sports');
|
$table->integer('sport_id')->references('id')->on('sports')->nullable();
|
||||||
|
|
||||||
$table->integer('sleep')->default(10);
|
$table->integer('sleep')->default(30);
|
||||||
$table->integer('limit')->default(0);
|
$table->integer('limit')->default(0);
|
||||||
|
|
||||||
$table->string('runtime')->nullable();
|
$table->string('runtime')->nullable();
|
||||||
@@ -26,11 +26,11 @@ return new class extends Migration
|
|||||||
$table->integer('lastcall')->default(0);
|
$table->integer('lastcall')->default(0);
|
||||||
|
|
||||||
$table->boolean('use_lastcall')->default(0);
|
$table->boolean('use_lastcall')->default(0);
|
||||||
$table->boolean('is_cron')->default(0);
|
$table->boolean('is_supervisor')->default(0);
|
||||||
$table->boolean('is_active')->default(0);
|
$table->boolean('is_active')->default(0);
|
||||||
|
|
||||||
$table->integer('days_from')->default(10);
|
$table->integer('days_from')->default(10)->nullable();
|
||||||
$table->integer('days_to')->default(10);
|
$table->integer('days_to')->default(10)->nullable();
|
||||||
|
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('event_user_stars', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->foreignId('event_id')->index()->constrained()->cascadeOnDelete()->references('id')->on('events');
|
||||||
|
$table->integer('user_id')->index()->references('id')->on('users');
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('event_user_stars');
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('txodds_markets', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->integer('market_id')->nullable();
|
||||||
|
$table->string('shortname');
|
||||||
|
$table->string('name');
|
||||||
|
$table->boolean(column: 'soccer')->default(0);
|
||||||
|
$table->boolean(column: 'ice_hockey')->default(0);
|
||||||
|
$table->boolean(column: 'basketball')->default(0);
|
||||||
|
$table->boolean(column: 'tennis')->default(0);
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('txodds_markets');
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -21,6 +21,7 @@ class DatabaseSeeder extends Seeder
|
|||||||
SupervisorSeeder::class,
|
SupervisorSeeder::class,
|
||||||
BettypeSeeder::class,
|
BettypeSeeder::class,
|
||||||
MultilineSettingSeeder::class,
|
MultilineSettingSeeder::class,
|
||||||
|
TxoddsMarketsSeeder::class,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,7 @@ class SupervisorSeeder extends Seeder
|
|||||||
/**
|
/**
|
||||||
* Supervisor
|
* Supervisor
|
||||||
*/
|
*/
|
||||||
$sql = "INSERT INTO `supervisors` (`id`, `name`, `provider_id`, `sport_id`, `sleep`, `limit`, `runtime`, `maxsconds`, `lastcall`, `is_cron`, `is_active`, `days_from`, `days_to`, `created_at`, `updated_at`)
|
$sql = "INSERT INTO `supervisors` (`id`, `name`, `provider_id`, `sport_id`, `sleep`, `limit`, `runtime`, `maxsconds`, `lastcall`, `is_supervisor`, `is_active`, `days_from`, `days_to`, `created_at`, `updated_at`)
|
||||||
VALUES
|
VALUES
|
||||||
(1, 'Fixtures', 1, 1, 10, 0, '0.129', 1800, 0, 1, 1, 0, 0, '2025-08-27 07:39:55', '2026-01-09 08:15:55'),
|
(1, 'Fixtures', 1, 1, 10, 0, '0.129', 1800, 0, 1, 1, 0, 0, '2025-08-27 07:39:55', '2026-01-09 08:15:55'),
|
||||||
(2, 'Odds', 1, 1, 10, 0, '0.251', 30, 0, 0, 1, 0, 10, '2025-12-01 05:41:02', '2026-01-08 17:56:27'),
|
(2, 'Odds', 1, 1, 10, 0, '0.251', 30, 0, 0, 1, 0, 10, '2025-12-01 05:41:02', '2026-01-08 17:56:27'),
|
||||||
|
|||||||
@@ -0,0 +1,106 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
|
class TxoddsMarketsSeeder extends Seeder
|
||||||
|
{
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Supervisor
|
||||||
|
*/
|
||||||
|
$sql = "INSERT INTO `txodds_markets` (`id`, `market_id`, `shortname`, `name`, `soccer`, `ice_hockey`, `basketball`, `tennis`, `created_at`, `updated_at`)
|
||||||
|
VALUES
|
||||||
|
(1, 0, '1x2', 'three way', 1, 1, 0, 0, '2026-01-13 06:20:33', '2026-01-13 07:20:35'),
|
||||||
|
(2, 1, 'ml', 'money line', 0, 1, 1, 1, '2026-01-13 06:20:33', '2026-01-13 07:22:08'),
|
||||||
|
(3, 3, 'pts', 'points', 0, 1, 1, 1, '2026-01-13 06:20:33', '2026-01-13 07:22:11'),
|
||||||
|
(4, 4, 'tot', 'totals', 1, 1, 1, 1, '2026-01-13 06:20:33', '2026-01-13 07:22:12'),
|
||||||
|
(5, 5, 'ah', 'asian handicap', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(6, 65536, '3wht', 'three way - ht', 1, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 07:17:47'),
|
||||||
|
(7, 65537, '2wht', 'money line - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(8, 65539, 'ptsht', 'spread - ht', 0, 1, 1, 0, '2026-01-13 06:20:33', '2026-01-13 07:21:51'),
|
||||||
|
(9, 65540, 'totht', 'totals - ht', 1, 1, 1, 0, '2026-01-13 06:20:33', '2026-01-13 07:21:56'),
|
||||||
|
(10, 65541, 'ahht', 'asian handicap - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(11, 131072, '3wq1', 'three way - q1', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(12, 131073, 'mlq1', 'money line - q1', 0, 0, 0, 1, '2026-01-13 06:20:33', '2026-01-13 07:22:19'),
|
||||||
|
(13, 131075, 'ptsq1', 'points - q1', 0, 1, 1, 0, '2026-01-13 06:20:33', '2026-01-13 07:21:39'),
|
||||||
|
(14, 131076, 'totq1', 'totals - q1', 0, 1, 1, 0, '2026-01-13 06:20:33', '2026-01-13 07:21:45'),
|
||||||
|
(15, 196608, '3wq3', 'three way - q3', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(16, 196609, 'mlq3', 'money line - q3', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(17, 196611, 'ptsq3', 'points - q3', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(18, 196612, 'totq3', 'totals - q3', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(19, 262147, 'ptset', 'points - et', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(20, 262148, 'totet', 'totals - et', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(21, 327680, '3w2hf', 'three way - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(22, 327681, 'ml2hf', 'money line - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(23, 327683, 'pts2hf', 'points - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(24, 327684, 'tot2hf', 'totals - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(25, 327685, 'ah2hf', 'asian handicap - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(26, 393216, '3wq2', 'three way - q2', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(27, 393217, 'mlq2', 'money line - q2', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(28, 393219, 'ptsq2', 'points - q2', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(29, 393220, 'totq2', 'totals - q2', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(30, 458752, '3wq4', 'three way - q4', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(31, 458753, 'mlq4', 'money line - q4', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(32, 458755, 'ptsq4', 'points - q4', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(33, 458756, 'totq4', 'totals - q4', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(34, 524288, '3w1o', 'three way - 1st over', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(35, 524292, 'tot1o', 'totals - 1st over', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(36, 655361, 'mlrt', 'moneyline - rt', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(37, 1048577, 'g/ng', 'goal/nogoal', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(38, 2097153, 'od/ev', 'odd/even', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(39, 2162689, 'od/evht', 'odd/even - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(40, 2424833, 'od/ev2h', 'odd/even - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(41, 4194304, 'tg', 'total goals (0-2/3/4+)', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(42, 5242880, 'dc', 'double chance (1x/x2/12)', 1, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 07:18:30'),
|
||||||
|
(43, 5308416, 'dcht', 'double chance (1x/x2/12) - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(44, 5373952, 'dcq1', 'double chance (1x/x2/12) - q1', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(45, 5439488, 'dcq3', 'double chance (1x/x2/12) - q3', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(46, 5570560, 'dc2h', 'double chance (1x/x2/12) - 2nd h', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(47, 5636096, 'dcq2', 'double chance (1x/x2/12) - q2', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(48, 6291457, 'dnb', 'draw no bet', 1, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 07:18:44'),
|
||||||
|
(49, 6356993, 'dnbht', 'draw no bet - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(50, 6619137, 'dnb2h', 'draw no bet - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(51, 7340033, 'toprog', 'to progress', 1, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 07:18:37'),
|
||||||
|
(52, 8388608, '1x2hc', 'three way handicap (h:g)', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(53, 8454144, '1x2hcht', 'three way handicap (h:g) - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(54, 8716288, '1x2hc2hf', 'three way handicap (h:g) - 2nd h', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(55, 9437188, 'totcor', 'total corners', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(56, 9502724, 'totcor1fh', 'total corners - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(57, 9699332, 'totcoret', 'total corners - extra time', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(58, 10027012, 'totcor10min', 'total corners - 1st 10 mins', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(59, 10485761, 'gtd', 'to go the distance', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(60, 11534337, 'btts', 'both teams to score', 1, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 07:18:24'),
|
||||||
|
(61, 11599873, 'bttsht', 'both teams to score - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(62, 11862017, 'btts2hf', 'both teams to score - 2nd hf', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(63, 12582912, 'hwmg', 'half with more goals', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(64, 13631489, 'wbh', 'win both halves', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(65, 14680065, 'wtt', 'win the toss', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(66, 15728644, 'totsix', 'total sixes', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(67, 16777220, 'totro', 'total runouts', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(68, 17825792, 'm180', 'most 180s', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(69, 18874369, '170f', '170 finish', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(70, 19922945, '9df', '9 dart finish', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(71, 20971520, '1x2cor', 'three way corners', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(72, 21037056, '1x2corht', 'three way corners - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(73, 22020099, 'ptscor', 'handicap corners', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(74, 22085635, 'ptscorht', 'handicap corners - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(75, 23068673, 'od/evcor', 'odd/even corners', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(76, 23134209, 'od/evcorht', 'odd/even corners - ht', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(77, 24117249, 'nextcor', 'next corner', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(78, 25165825, 'lastcor', 'last corner', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(79, 26214401, '1stcor', 'first corner', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(80, 27262976, '1stcor1x2', 'first corner threeway', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(81, 28311555, 'ptsset', 'handicap sets', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(82, 28311556, 'totset', 'total sets', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(83, 29360129, 'wtbo', 'will there be overtime', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(84, 30408705, 'wtn', 'win to nil', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(85, 31457284, 'tothome', 'totals home', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35'),
|
||||||
|
(86, 32505860, 'totaway', 'totals away', 0, 0, 0, 0, '2026-01-13 06:20:33', '2026-01-13 06:41:35');
|
||||||
|
";
|
||||||
|
DB::unprepared($sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,433 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<types>
|
||||||
|
<type>
|
||||||
|
<ot>0</ot>
|
||||||
|
<sname>1x2</sname>
|
||||||
|
<name>three way</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>1</ot>
|
||||||
|
<sname>ml</sname>
|
||||||
|
<name>money line</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>3</ot>
|
||||||
|
<sname>pts</sname>
|
||||||
|
<name>points</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>4</ot>
|
||||||
|
<sname>tot</sname>
|
||||||
|
<name>totals</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>5</ot>
|
||||||
|
<sname>ah</sname>
|
||||||
|
<name>asian handicap</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>65536</ot>
|
||||||
|
<sname>3wht</sname>
|
||||||
|
<name>three way - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>65537</ot>
|
||||||
|
<sname>2wht</sname>
|
||||||
|
<name>money line - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>65539</ot>
|
||||||
|
<sname>ptsht</sname>
|
||||||
|
<name>spread - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>65540</ot>
|
||||||
|
<sname>totht</sname>
|
||||||
|
<name>totals - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>65541</ot>
|
||||||
|
<sname>ahht</sname>
|
||||||
|
<name>asian handicap - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>131072</ot>
|
||||||
|
<sname>3wq1</sname>
|
||||||
|
<name>three way - q1</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>131073</ot>
|
||||||
|
<sname>mlq1</sname>
|
||||||
|
<name>money line - q1</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>131075</ot>
|
||||||
|
<sname>ptsq1</sname>
|
||||||
|
<name>points - q1</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>131076</ot>
|
||||||
|
<sname>totq1</sname>
|
||||||
|
<name>totals - q1</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>196608</ot>
|
||||||
|
<sname>3wq3</sname>
|
||||||
|
<name>three way - q3</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>196609</ot>
|
||||||
|
<sname>mlq3</sname>
|
||||||
|
<name>money line - q3</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>196611</ot>
|
||||||
|
<sname>ptsq3</sname>
|
||||||
|
<name>points - q3</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>196612</ot>
|
||||||
|
<sname>totq3</sname>
|
||||||
|
<name>totals - q3</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>262147</ot>
|
||||||
|
<sname>ptset</sname>
|
||||||
|
<name>points - et</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>262148</ot>
|
||||||
|
<sname>totet</sname>
|
||||||
|
<name>totals - et</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>327680</ot>
|
||||||
|
<sname>3w2hf</sname>
|
||||||
|
<name>three way - 2nd hf</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>327681</ot>
|
||||||
|
<sname>ml2hf</sname>
|
||||||
|
<name>money line - 2nd hf</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>327683</ot>
|
||||||
|
<sname>pts2hf</sname>
|
||||||
|
<name>points - 2nd hf</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>327684</ot>
|
||||||
|
<sname>tot2hf</sname>
|
||||||
|
<name>totals - 2nd hf</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>327685</ot>
|
||||||
|
<sname>ah2hf</sname>
|
||||||
|
<name>asian handicap - 2nd hf</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>393216</ot>
|
||||||
|
<sname>3wq2</sname>
|
||||||
|
<name>three way - q2</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>393217</ot>
|
||||||
|
<sname>mlq2</sname>
|
||||||
|
<name>money line - q2</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>393219</ot>
|
||||||
|
<sname>ptsq2</sname>
|
||||||
|
<name>points - q2</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>393220</ot>
|
||||||
|
<sname>totq2</sname>
|
||||||
|
<name>totals - q2</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>458752</ot>
|
||||||
|
<sname>3wq4</sname>
|
||||||
|
<name>three way - q4</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>458753</ot>
|
||||||
|
<sname>mlq4</sname>
|
||||||
|
<name>money line - q4</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>458755</ot>
|
||||||
|
<sname>ptsq4</sname>
|
||||||
|
<name>points - q4</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>458756</ot>
|
||||||
|
<sname>totq4</sname>
|
||||||
|
<name>totals - q4</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>524288</ot>
|
||||||
|
<sname>3w1o</sname>
|
||||||
|
<name>three way - 1st over</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>524292</ot>
|
||||||
|
<sname>tot1o</sname>
|
||||||
|
<name>totals - 1st over</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>655361</ot>
|
||||||
|
<sname>mlrt</sname>
|
||||||
|
<name>moneyline - rt</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>1048577</ot>
|
||||||
|
<sname>g/ng</sname>
|
||||||
|
<name>goal/nogoal</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>2097153</ot>
|
||||||
|
<sname>od/ev</sname>
|
||||||
|
<name>odd/even</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>2162689</ot>
|
||||||
|
<sname>od/evht</sname>
|
||||||
|
<name>odd/even - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>2424833</ot>
|
||||||
|
<sname>od/ev2h</sname>
|
||||||
|
<name>odd/even - 2nd hf</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>4194304</ot>
|
||||||
|
<sname>tg</sname>
|
||||||
|
<name>total goals (0-2/3/4+)</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>5242880</ot>
|
||||||
|
<sname>dc</sname>
|
||||||
|
<name>double chance (1x/x2/12)</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>5308416</ot>
|
||||||
|
<sname>dcht</sname>
|
||||||
|
<name>double chance (1x/x2/12) - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>5373952</ot>
|
||||||
|
<sname>dcq1</sname>
|
||||||
|
<name>double chance (1x/x2/12) - q1</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>5439488</ot>
|
||||||
|
<sname>dcq3</sname>
|
||||||
|
<name>double chance (1x/x2/12) - q3</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>5570560</ot>
|
||||||
|
<sname>dc2h</sname>
|
||||||
|
<name>double chance (1x/x2/12) - 2nd h</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>5636096</ot>
|
||||||
|
<sname>dcq2</sname>
|
||||||
|
<name>double chance (1x/x2/12) - q2</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>6291457</ot>
|
||||||
|
<sname>dnb</sname>
|
||||||
|
<name>draw no bet</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>6356993</ot>
|
||||||
|
<sname>dnbht</sname>
|
||||||
|
<name>draw no bet - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>6619137</ot>
|
||||||
|
<sname>dnb2h</sname>
|
||||||
|
<name>draw no bet - 2nd hf</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>7340033</ot>
|
||||||
|
<sname>toprog</sname>
|
||||||
|
<name>to progress</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>8388608</ot>
|
||||||
|
<sname>1x2hc</sname>
|
||||||
|
<name>three way handicap (h:g)</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>8454144</ot>
|
||||||
|
<sname>1x2hcht</sname>
|
||||||
|
<name>three way handicap (h:g) - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>8716288</ot>
|
||||||
|
<sname>1x2hc2hf</sname>
|
||||||
|
<name>three way handicap (h:g) - 2nd h</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>9437188</ot>
|
||||||
|
<sname>totcor</sname>
|
||||||
|
<name>total corners</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>9502724</ot>
|
||||||
|
<sname>totcor1fh</sname>
|
||||||
|
<name>total corners - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>9699332</ot>
|
||||||
|
<sname>totcoret</sname>
|
||||||
|
<name>total corners - extra time</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>10027012</ot>
|
||||||
|
<sname>totcor10min</sname>
|
||||||
|
<name>total corners - 1st 10 mins</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>10485761</ot>
|
||||||
|
<sname>gtd</sname>
|
||||||
|
<name>to go the distance</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>11534337</ot>
|
||||||
|
<sname>btts</sname>
|
||||||
|
<name>both teams to score</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>11599873</ot>
|
||||||
|
<sname>bttsht</sname>
|
||||||
|
<name>both teams to score - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>11862017</ot>
|
||||||
|
<sname>btts2hf</sname>
|
||||||
|
<name>both teams to score - 2nd hf</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>12582912</ot>
|
||||||
|
<sname>hwmg</sname>
|
||||||
|
<name>half with more goals</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>13631489</ot>
|
||||||
|
<sname>wbh</sname>
|
||||||
|
<name>win both halves</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>14680065</ot>
|
||||||
|
<sname>wtt</sname>
|
||||||
|
<name>win the toss</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>15728644</ot>
|
||||||
|
<sname>totsix</sname>
|
||||||
|
<name>total sixes</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>16777220</ot>
|
||||||
|
<sname>totro</sname>
|
||||||
|
<name>total runouts</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>17825792</ot>
|
||||||
|
<sname>m180</sname>
|
||||||
|
<name>most 180s</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>18874369</ot>
|
||||||
|
<sname>170f</sname>
|
||||||
|
<name>170 finish</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>19922945</ot>
|
||||||
|
<sname>9df</sname>
|
||||||
|
<name>9 dart finish</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>20971520</ot>
|
||||||
|
<sname>1x2cor</sname>
|
||||||
|
<name>three way corners</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>21037056</ot>
|
||||||
|
<sname>1x2corht</sname>
|
||||||
|
<name>three way corners - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>22020099</ot>
|
||||||
|
<sname>ptscor</sname>
|
||||||
|
<name>handicap corners</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>22085635</ot>
|
||||||
|
<sname>ptscorht</sname>
|
||||||
|
<name>handicap corners - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>23068673</ot>
|
||||||
|
<sname>od/evcor</sname>
|
||||||
|
<name>odd/even corners</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>23134209</ot>
|
||||||
|
<sname>od/evcorht</sname>
|
||||||
|
<name>odd/even corners - ht</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>24117249</ot>
|
||||||
|
<sname>nextcor</sname>
|
||||||
|
<name>next corner</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>25165825</ot>
|
||||||
|
<sname>lastcor</sname>
|
||||||
|
<name>last corner</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>26214401</ot>
|
||||||
|
<sname>1stcor</sname>
|
||||||
|
<name>first corner</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>27262976</ot>
|
||||||
|
<sname>1stcor1x2</sname>
|
||||||
|
<name>first corner threeway</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>28311555</ot>
|
||||||
|
<sname>ptsset</sname>
|
||||||
|
<name>handicap sets</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>28311556</ot>
|
||||||
|
<sname>totset</sname>
|
||||||
|
<name>total sets</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>29360129</ot>
|
||||||
|
<sname>wtbo</sname>
|
||||||
|
<name>will there be overtime</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>30408705</ot>
|
||||||
|
<sname>wtn</sname>
|
||||||
|
<name>win to nil</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>31457284</ot>
|
||||||
|
<sname>tothome</sname>
|
||||||
|
<name>totals home</name>
|
||||||
|
</type>
|
||||||
|
<type>
|
||||||
|
<ot>32505860</ot>
|
||||||
|
<sname>totaway</sname>
|
||||||
|
<name>totals away</name>
|
||||||
|
</type>
|
||||||
|
</types>
|
||||||
Reference in new issue
Block a user