This commit is contained in:
salam committed 2025-12-05 07:00:25 +01:00
1 parent 7abcc5c56c
commit 90bba45c0a
26 files changed
+3448 -32353

No files matched your search

+8 -23
View File
@@ -8,11 +8,8 @@ class Curl
{
public static $file;
public static function load($url, $filetype = 'json')
public static function load($url)
{
self::$file = app_path().'/Console/TestFiles/'.strtolower(str_replace(' ', '_', NuhBash::$options['name'])).'.'.$filetype;
$debug = NuhBash::$options['d'] ?? 0;
$save = NuhBash::$options['s'] ?? 0;
$read = NuhBash::$options['r'] ?? 0;
@@ -23,22 +20,13 @@ class Curl
if ($read) {
if ($debug) {
Notice::note('data read local', 'r');
Notice::note('READ LOCAL', 'r');
}
switch ($filetype) {
case 'xml':
return simplexml_load_file(self::$file, null, LIBXML_NOCDATA);
break;
$filename = app_path().'/Console/TestFiles/'.strtolower(str_replace(' ', '_', NuhBash::$options['name'])).'.json';
case 'json':
$file = file_get_contents(self::$file);
$file = file_get_contents($filename);
return json_decode($file, true);
break;
default:
Notice::note('filetype unknown', 'r', 1);
}
return json_decode($file, true);
}
$ch = curl_init($url);
@@ -57,15 +45,12 @@ class Curl
}
if ($save) {
Notice::note('data saved', 'b');
Notice::note('SAVED LOCAL', 'b');
self::$file = app_path().'/Console/TestFiles/'.strtolower(str_replace(' ', '_', NuhBash::$options['name'])).'.json';
file_put_contents(self::$file, $data);
}
if ($filetype == 'json') {
return json_decode($data, true);
} else {
return $data;
}
return json_decode($data, true);
}
public static function curlerrorcode($id)
@@ -2,8 +2,8 @@
namespace App\Console\Commands\Grapper\TxOdds;
use App\Console\Commands\Curl;
use App\Console\Commands\NuhBash;
use App\Console\Commands\Xml;
use App\Models\CompetitionGroup;
use App\Models\Element;
use App\Models\Event;
@@ -19,86 +19,91 @@ class Fixtures
$print = NuhBash::$options['p'] ?? 0;
$break = NuhBash::$options['b'] ?? 0;
$count = 0;
$total = 0;
$date = Carbon::now();
$now = Carbon::now();
/**
* Delete
*/
$info = Event::where('starttime', '<', $now->toDateTimeString())->delete();
if ($debug) {
Notice::note("Deleted: $info");
}
/**
* Grap
*/
for ($i = 0; $i < 30; $i++) {
$from = $date->addDays($i)->toDateString();
$to = $date->addDays($i + 1)->toDateString();
$from = $now->addDays($i)->toDateString();
$to = $now->addDays($i + 1)->toDateString();
$url = 'https://xml2.txodds.com/feed/result/xml.php?'.config('nuh.txodds_token_soccer')."&date=$from,$to&json=2";
$data = Curl::load($url);
$url = 'https://xml2.txodds.com/feed/result/xml.php?'.NuhBash::$AUTHTOKEN."&date=$from,$to";
$data = Xml::load($url);
if ($print) {
Notice::note($data, '', 1);
dd($data);
}
$count = 0;
$e = [];
foreach ($data['match'] as $match) {
foreach ($data as $row) {
// <match id="14563695" xsid="0" gsmid="0" last_updated="2025-12-02T08:31:11+00:00">
// <time>2025-12-03T22:30:00+00:00</time>
// <group id="173093" cgid="1255" spid="1" cnid="467" mgid="1002" cname="Reserve League">FBARG Reserve League-25</group>
// <hteam id="187003" >Boca Juniors II</hteam>
// <ateam id="185803" >Gimnasia LP II</ateam>
// <results>
// <status last_updated="2025-12-02T08:31:10+00:00" minute="-1">Sched</status>
// <result id="1" name="CURRENT" value="" />
// </results>
// </match>
$event = [];
$event['txodds_id'] = (int) $row['id'];
$event['starttime'] = Carbon::createFromDate((string) $row->time)->toDateTimeString();
$group_name = (string) $row->group;
$event['group_id'] = (int) $row->group['id'];
$event['sport_id'] = (int) $row->group['spid'];
$event['country_id'] = (int) $row->group['cnid'];
$event['competition_group_id'] = (int) $row->group['cgid'];
$competition_group_name = (string) $row->group['cname'];
$home = (string) $row->hteam;
$event['home_id'] = (int) $row->hteam['id'];
$away = (string) $row->ateam;
$event['away_id'] = (int) $row->ateam['id'];
foreach ($match as $key => $v) {
Group::updateOrCreate([
'txodds_id' => $event['group_id'],
'competition_group_id' => $event['competition_group_id'],
'sport_id' => $event['sport_id'],
'country_id' => $event['country_id'],
], [
'name' => $group_name,
]);
switch ($key) {
case '@attributes':
$e['txodds_id'] = (int) $v['id'];
break;
CompetitionGroup::updateOrCreate([
'txodds_id' => $event['competition_group_id'],
'sport_id' => $event['sport_id'],
'country_id' => $event['country_id'],
], [
'name' => $competition_group_name,
]);
case 'time':
$starttime = Carbon::createFromDate($v)->toDateTimeString();
break;
Element::firstOrCreate([
'txodds_id' => $event['home_id'],
'name' => $home,
'sport_id' => $event['sport_id'],
]);
case 'group':
Element::firstOrCreate([
'txodds_id' => $event['away_id'],
'name' => $away,
'sport_id' => $event['sport_id'],
]);
$e['sport_id'] = (int) $v['@attributes']['spid'];
$e['country_id'] = (int) $v['@attributes']['cnid'];
$e['group_id'] = (int) $v['@attributes']['id'];
$e['competition_group_id'] = (int) $v['@attributes']['cgid'];
Group::firstOrCreate([
'txodds_id' => $v['@attributes']['id'],
'competition_group_id' => $e['competition_group_id'],
], [
'name' => (string) $v['@text'],
'sport_id' => $e['sport_id'],
'country_id' => $e['country_id'],
]);
CompetitionGroup::firstOrCreate([
'txodds_id' => $v['@attributes']['cgid'],
'name' => $v['@attributes']['cname'],
'sport_id' => $e['sport_id'],
'country_id' => $e['country_id'],
]);
break;
case 'hteam':
$e['home_id'] = $v['@attributes']['id'];
Element::firstOrCreate([
'txodds_id' => (int) $v['@attributes']['id'],
'name' => $v['@text'],
'sport_id' => $e['sport_id'],
]);
break;
case 'ateam':
$e['away_id'] = $v['@attributes']['id'];
Element::firstOrCreate([
'txodds_id' => (int) $v['@attributes']['id'],
'name' => $v['@text'],
'sport_id' => $e['sport_id'],
]);
break;
}
}
Event::firstOrCreate($e, ['starttime' => $starttime]);
Event::updateOrCreate($event, ['starttime' => $event['starttime']]);
$count++;
}
if ($debug) {
@@ -111,6 +116,8 @@ class Fixtures
break;
}
}
Notice::note("Total - $total events processed", 'g');
if ($debug) {
Notice::note("Total - $total events processed", 'g');
}
}
}
+246 -161
View File
@@ -2,12 +2,20 @@
namespace App\Console\Commands\Grapper\TxOdds;
use App\Console\Commands\Curl;
use App\Console\Commands\Grapper\Helper;
use App\Console\Commands\Grapper\TxOdds\Odds\_3Way;
use App\Console\Commands\Grapper\TxOdds\Odds\_Dc;
use App\Console\Commands\NuhBash;
use App\Console\Commands\Xml;
use App\Models\CompetitionGroup;
use App\Models\Element;
use App\Models\Event;
use App\Models\EventBookmaker;
use App\Models\Group;
use App\Models\Odds2way;
use App\Models\Odds3way;
use App\Models\OddsDc;
use App\Models\OddsGgng;
use App\Models\OddsQualify;
use App\Models\OddsTotal;
use App\Utilities\Notice;
@@ -15,6 +23,8 @@ use Carbon\Carbon;
class Odds
{
public static $event = [];
public static function grap()
{
@@ -102,17 +112,17 @@ class Odds
/*************************************************
* URL
*************************************************/
$url = 'https://xml2.txodds.com/feed/odds/xml.php?'.config('nuh.txodds_token_soccer').'&all_odds=2&spid='.NuhBash::$options['sport_id'].'&json=2';
$url = 'https://xml2.txodds.com/feed/odds/xml.php?'.NuhBash::$AUTHTOKEN.'&all_odds=2&spid='.NuhBash::$options['sport_id'];
$_calls = [];
if (NuhBash::$options['event_id']) {
$_calls[] = $url."&ot=$markets&peid=".NuhBash::$options['event_id'];
} elseif (NuhBash::$options['a']) {
$res = Event::where('time', '>', Carbon::now()->toDateTimeString())->pluck('txid');
$res = Event::where('starttime', '>', Carbon::now()->toDateTimeString())->pluck('txodds_id');
foreach ($res as $id) {
$_calls[] = $url."&ot=$markets&peid=".$id;
}
} elseif (NuhBash::$options['w']) {
$res = Event::where('time', '>', Carbon::now()->toDateTimeString())->where('time', '<', Carbon::now()->addDays(7)->toDateTimeString())->pluck('txid');
$res = Event::where('starttime', '>', Carbon::now()->toDateTimeString())->where('starttime', '<', Carbon::now()->addDays(7)->toDateTimeString())->pluck('txodds_id');
foreach ($res as $id) {
$_calls[] = $url."&ot=$markets&peid=".$id;
}
@@ -125,11 +135,84 @@ class Odds
*************************************************/
foreach ($_calls as $url) {
$json_obj = Curl::load($url);
$data = Xml::load($url);
foreach ($data as $row) {
$event = [];
$event['id'] = (int) $row['id'];
$event['starttime'] = Carbon::createFromDate((string) $row->time)->toDateTimeString();
$group_name = (string) $row->group;
$event['group_id'] = (int) $row->group['id'];
$event['sport_id'] = (int) $row->group['spid'];
$event['country_id'] = (int) $row->group['cnid'];
$event['competition_group_id'] = (int) $row->group['cgid'];
$competition_group_name = (string) $row->group['cname'];
$home = (string) $row->hteam;
$event['home_id'] = (int) $row->hteam['id'];
$away = (string) $row->ateam;
$event['away_id'] = (int) $row->ateam['id'];
Group::updateOrCreate([
'txodds_id' => $event['group_id'],
'competition_group_id' => $event['competition_group_id'],
'sport_id' => $event['sport_id'],
'country_id' => $event['country_id'],
], [
'name' => $group_name,
]);
CompetitionGroup::updateOrCreate([
'txodds_id' => $event['competition_group_id'],
'sport_id' => $event['sport_id'],
'country_id' => $event['country_id'],
], [
'name' => $competition_group_name,
]);
Element::firstOrCreate([
'txodds_id' => $event['home_id'],
'name' => $home,
'sport_id' => $event['sport_id'],
]);
Element::firstOrCreate([
'txodds_id' => $event['away_id'],
'name' => $away,
'sport_id' => $event['sport_id'],
]);
Event::updateOrCreate($event, ['starttime' => $event['starttime']]);
foreach ($row->bookmaker as $book) {
$bkmid = $book['bid'];
foreach ($book->offer as $offer) {
$bettypeid = (int) $offer['od'];
Notice::note($bettypeid, 'b');
switch ($bettypeid) {
case 0:
_3Way::grap($bkmid, $offer);
break;
case 5242880:
_Dc::grap($bkmid, $offer);
break;
default:
Notice::note($offer, 'r', 1);
break;
}
}
}
}
foreach ($json_obj['match'] as $match) {
$e = [];
self::$event = [];
foreach ($match as $key => $v) {
@@ -140,197 +223,199 @@ class Odds
switch ($key) {
case '@attributes':
$e['id'] = (int) $v['id'];
self::$event['id'] = (int) $v['id'];
break;
case 'time':
$starttime = Carbon::createFromDate($v)->toDateTimeString();
self::$event['starttime'] = Carbon::createFromDate($v)->toDateTimeString();
break;
case 'group':
$e['sport_id'] = (int) $v['@attributes']['spid'];
$e['country_id'] = (int) $v['@attributes']['cnid'];
$e['group_id'] = (int) $v['@attributes']['id'];
$e['competition_group_id'] = (int) $v['@attributes']['cgid'];
self::$event['sport_id'] = (int) $v['@attributes']['spid'];
self::$event['country_id'] = (int) $v['@attributes']['cnid'];
self::$event['group_id'] = (int) $v['@attributes']['id'];
self::$event['competition_group_id'] = (int) $v['@attributes']['cgid'];
break;
case 'hteam':
$e['home_id'] = $v['@attributes']['id'];
self::$event['home_id'] = $v['@attributes']['id'];
break;
case 'ateam':
$e['away_id'] = $v['@attributes']['id'];
$event = Event::firstOrCreate($e, ['starttime' => $starttime]);
self::$event['away_id'] = $v['@attributes']['id'];
break;
case 'bookmaker':
foreach ($v as $books) {
Event::updateOrCreate(self::$event, ['starttime' => self::$event['starttime']]);
foreach ($books as $bookkey => $book) {
Notice::note(count($v), 'r');
$bkmid = false;
if (count($v) <= 2) {
$bkmid = (int) $v['@attributes']['bid'];
Notice::note($v, 'p');
} else {
foreach ($v as $books) {
switch ($bookkey) {
case '@attributes':
if (isset($book['bid'])) {
$bkmid = (int) $book['bid'];
}
Notice::note($books, 'b');
case 'offer':
if ($bkmid) {
foreach ($book as $type => $od) {
$bkmid = (int) $books['@attributes']['bid'];
switch ($type) {
case '@attributes':
$bettypeid = (int) $od['ot'];
$bmoid = (int) $od['bmoid'];
break;
case 'odds':
switch ($bettypeid) {
case '0':
Odds3way::updateOrCreate(
[
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
],
[
'h3w' => (float) $od['o1'],
'd3w' => (float) $od['o2'],
'a3w' => (float) $od['o3'],
'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
'flag' => 1,
'nuh_check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
// foreach ($books['offer'] as $bk => $book) {
EventBookmaker::updateOrCreate([
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'bmoid' => $bmoid,
], [
'bkm_starttime' => Carbon::createFromDate($od['@attributes']['starting_time'])->toDateTimeString(),
'last_check_at' => Carbon::now()->toDateTimeString(),
]);
// if ($bkmid) {
// foreach ($book as $type => $od) {
break;
// switch ($type) {
// case '@attributes':
// $bettypeid = (int) $od['ot'];
// $bmoid = (int) $od['bmoid'];
// break;
// case 'odds':
// switch ($bettypeid) {
// case '0':
// Odds3way::updateOrCreate(
// [
// 'event_id' => $event->id,
// 'bookmaker_id' => $bkmid,
// 'sport_id' => NuhBash::$options['sport_id'],
// ],
// [
// 'h3w' => (float) $od['o1'],
// 'd3w' => (float) $od['o2'],
// 'a3w' => (float) $od['o3'],
// 'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
// 'flag' => 1,
// 'nuh_check' => 0,
// 'source_updated_at' => $od['@attributes']['time'],
// 'last_check_at' => Carbon::now()->toDateTimeString(),
// ]
// );
case '1':
Odds2way::updateOrCreate(
[
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
],
[
'h2w' => (float) $od['o1'],
'a2w' => (float) $od['o3'],
'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1),
'flag' => 1,
'nuh_check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
// EventBookmaker::updateOrCreate([
// 'event_id' => $event->id,
// 'bookmaker_id' => $bkmid,
// 'bmoid' => $bmoid,
// ], [
// 'bkm_starttime' => Carbon::createFromDate($od['@attributes']['starting_time'])->toDateTimeString(),
// 'last_check_at' => Carbon::now()->toDateTimeString(),
// ]);
case '4':
OddsTotal::updateOrCreate(
[
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
'spread' => (float) $od['o3'],
],
[
'over' => (float) $od['o1'],
'under' => (float) $od['o2'],
'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
'flag' => 1,
'nuh_check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
// break;
case '5242880':
OddsDc::updateOrCreate(
[
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
],
[
'dc1x' => (float) $od['o1'],
'dc12' => (float) $od['o2'],
'dc2x' => (float) $od['o3'],
'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
'flag' => 1,
'nuh_check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
// // case '1':
// // Odds2way::updateOrCreate(
// // [
// // 'event_id' => $event->id,
// // 'bookmaker_id' => $bkmid,
// // 'sport_id' => NuhBash::$options['sport_id'],
// // ],
// // [
// // 'h2w' => (float) $od['o1'],
// // 'a2w' => (float) $od['o3'],
// // 'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1),
// // 'flag' => 1,
// // 'nuh_check' => 0,
// // 'source_updated_at' => $od['@attributes']['time'],
// // 'last_check_at' => Carbon::now()->toDateTimeString(),
// // ]
// // );
// // break;
case '11534337':
OddsGgng::updateOrCreate(
[
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
],
[
'gg' => (float) $od['o1'],
'ng' => (float) $od['o3'],
'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1),
'flag' => 1,
'nuh_check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
// // case '4':
// // OddsTotal::updateOrCreate(
// // [
// // 'event_id' => $event->id,
// // 'bookmaker_id' => $bkmid,
// // 'sport_id' => NuhBash::$options['sport_id'],
// // 'spread' => (float) $od['o3'],
// // ],
// // [
// // 'over' => (float) $od['o1'],
// // 'under' => (float) $od['o2'],
// // 'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
// // 'flag' => 1,
// // 'nuh_check' => 0,
// // 'source_updated_at' => $od['@attributes']['time'],
// // 'last_check_at' => Carbon::now()->toDateTimeString(),
// // ]
// // );
// // break;
case '11534337':
OddsQualify::updateOrCreate(
[
'event_id' => $event->id,
'bookmaker_id' => $bkmid,
'sport_id' => NuhBash::$options['sport_id'],
],
[
'htq' => (float) $od['o1'],
'atq' => (float) $od['o2'],
'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1),
'flag' => 1,
'nuh_check' => 0,
'source_updated_at' => $od['@attributes']['time'],
'last_check_at' => Carbon::now()->toDateTimeString(),
]
);
break;
}
// // case '5242880':
// // OddsDc::updateOrCreate(
// // [
// // 'event_id' => $event->id,
// // 'bookmaker_id' => $bkmid,
// // 'sport_id' => NuhBash::$options['sport_id'],
// // ],
// // [
// // 'dc1x' => (float) $od['o1'],
// // 'dc12' => (float) $od['o2'],
// // 'dc2x' => (float) $od['o3'],
// // 'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
// // 'flag' => 1,
// // 'nuh_check' => 0,
// // 'source_updated_at' => $od['@attributes']['time'],
// // 'last_check_at' => Carbon::now()->toDateTimeString(),
// // ]
// // );
// // break;
break;
}
}
break;
}
}
// // case '11534337':
// // OddsGgng::updateOrCreate(
// // [
// // 'event_id' => $event->id,
// // 'bookmaker_id' => $bkmid,
// // 'sport_id' => NuhBash::$options['sport_id'],
// // ],
// // [
// // 'gg' => (float) $od['o1'],
// // 'ng' => (float) $od['o3'],
// // 'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1),
// // 'flag' => 1,
// // 'nuh_check' => 0,
// // 'source_updated_at' => $od['@attributes']['time'],
// // 'last_check_at' => Carbon::now()->toDateTimeString(),
// // ]
// // );
// // break;
// // case '11534337':
// // OddsQualify::updateOrCreate(
// // [
// // 'event_id' => $event->id,
// // 'bookmaker_id' => $bkmid,
// // 'sport_id' => NuhBash::$options['sport_id'],
// // ],
// // [
// // 'htq' => (float) $od['o1'],
// // 'atq' => (float) $od['o2'],
// // 'margin' => (float) Helper::margin([$od['o1'], $od['o3']], 1),
// // 'flag' => 1,
// // 'nuh_check' => 0,
// // 'source_updated_at' => $od['@attributes']['time'],
// // 'last_check_at' => Carbon::now()->toDateTimeString(),
// // ]
// // );
// // break;
// }
// break;
// }
// }
// break;
// }
// }
}
break;
}
break;
}
}
Notice::note('END', 'r', 1);
}
}
}
@@ -0,0 +1,32 @@
<?php
namespace App\Console\Commands\Grapper\TxOdds\Odds;
use App\Models\Odds3way;
class _3Way
{
public static function grap($bkmid, $offer)
{
echo $bkmid;
dd($offer);
// Odds3way::updateOrCreate(
// [
// 'event_id' => $event->id,
// 'bookmaker_id' => $bkmid,
// 'sport_id' => NuhBash::$options['sport_id'],
// ],
// [
// 'h3w' => (float) $od['o1'],
// 'd3w' => (float) $od['o2'],
// 'a3w' => (float) $od['o3'],
// 'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
// 'flag' => 1,
// 'nuh_check' => 0,
// 'source_updated_at' => $od['@attributes']['time'],
// 'last_check_at' => Carbon::now()->toDateTimeString(),
// ]
// );
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Console\Commands\Grapper\TxOdds\Odds;
class _Dc
{
public static function grap($bkmid, $offer)
{
echo $bkmid;
dd($offer);
// OddsDc::updateOrCreate(
// [
// 'event_id' => $event->id,
// 'bookmaker_id' => $bkmid,
// 'sport_id' => NuhBash::$options['sport_id'],
// ],
// [
// 'dc1x' => (float) $od['o1'],
// 'dc12' => (float) $od['o2'],
// 'dc2x' => (float) $od['o3'],
// 'margin' => (float) Helper::margin([$od['o1'], $od['o2'], $od['o3']], 1),
// 'flag' => 1,
// 'nuh_check' => 0,
// 'source_updated_at' => $od['@attributes']['time'],
// 'last_check_at' => Carbon::now()->toDateTimeString(),
// ]
// );
}
}
@@ -13,6 +13,12 @@ class TxSwitch
*/
public static function switch()
{
if (NuhBash::$options['sport_id'] == 1) {
NuhBash::$AUTHTOKEN = 'ident=betaid1&passwd=Dy59vpRC';
} else {
NuhBash::$AUTHTOKEN = 'ident=betaid2&passwd=Dy59vpRC';
}
switch (NuhBash::$options['name']) {
case 'Fixtures':
Fixtures::grap();
+10 -6
View File
@@ -6,14 +6,18 @@ use App\Console\Commands\Grapper\TxSwitch;
use App\Models\Supervisor;
use App\Utilities\Notice;
use App\Utilities\Supervisorctl;
use DB;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
class NuhBash extends Command
{
public static $options = [];
protected $signature = 'nuh {process=help} {eventid=0} {--d} {--f} {--a} {--w} {--p} {--s} {--r} {--b}';
public static $AUTHTOKEN;
public static $BETSAPI_TOKEN = '36152-aeTRNnZxSPUwGe';
protected $signature = 'nuh {process=help} {eventid=0} {--d} {--f} {--a} {--w} {--p} {--s} {--r} {--b} {--q}';
protected $description = 'NuhBash';
@@ -23,7 +27,7 @@ class NuhBash extends Command
self::$options['supervisor_id'] = $this->argument('process');
self::$options['event_id'] = $this->argument('eventid');
$queries = self::$options['m'] ?? 0;
$queries = self::$options['q'] ?? 0;
if ($this->argument('process') == 'help') {
$txt = PHP_EOL;
@@ -35,11 +39,11 @@ class NuhBash extends Command
$txt .= 'List of options'.PHP_EOL;
$txt .= '----------------------------------------------'.PHP_EOL;
$txt .= '--d debug'.PHP_EOL;
$txt .= '--m debug queries'.PHP_EOL;
$txt .= '--q print queries'.PHP_EOL;
$txt .= '--f force update market'.PHP_EOL;
$txt .= '--a reload all'.PHP_EOL;
$txt .= '--w reload one week'.PHP_EOL;
$txt .= '--p print odds'.PHP_EOL;
$txt .= '--p print grapped file'.PHP_EOL;
$txt .= '--s store data to file '.PHP_EOL;
$txt .= '--r read data from file '.PHP_EOL;
$txt .= '--b break loop after one '.PHP_EOL;
@@ -73,7 +77,7 @@ class NuhBash extends Command
// betsapi
break;
default:
Note::notice('Provider not defined', 'r', 1);
Notice::note('Provider not defined', 'r', 1);
break;
}
File diff suppressed because it is too large. Load diff
+800
View File
@@ -0,0 +1,800 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<matches time="2025-12-04T05:47:43+00:00" timestamp="1764827263">
<match id="14503518" xsid="0" gsmid="0">
<time>2025-12-04T11:00:00+00:00</time>
<group id="180182" cgid="243" spid="1" cnid="463" mgid="1006" cname="Cup">FBAZE Cup-25</group>
<hteam id="34745">Gabala</hteam>
<ateam id="208260">Safa</ateam>
<results>
</results>
<bookmaker bid="649" name="1xbet">
<offer id="4100798916" n="33" ot="5242880" otname="double chance (1x/x2/12)" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:42:29+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.240</o1>
<o2>1.680</o2>
<o3>1.230</o3>
</odds>
</offer>
<offer id="4100798917" n="36" ot="0" otname="three way" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:42:29+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.960</o1>
<o2>3.380</o2>
<o3>3.385</o3>
</odds>
</offer>
<offer id="4100798918" n="20" ot="4" otname="totals" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:04:56+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.610</o1>
<o2>2.070</o2>
<o3>2.50</o3>
</odds>
</offer>
<offer id="4100807195" n="20" ot="4" otname="totals" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:04:56+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.990</o1>
<o2>1.660</o2>
<o3>3.00</o3>
</odds>
</offer>
<offer id="4100810046" n="26" ot="11534337" otname="both teams to score" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:42:29+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.540</o1>
<o2>0.000</o2>
<o3>2.265</o3>
</odds>
</offer>
<offer id="4100852564" n="5" ot="4" otname="totals" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:42:29+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.002</o1>
<o2>11.600</o2>
<o3>0.50</o3>
</odds>
</offer>
<offer id="4100852565" n="23" ot="4" otname="totals" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:37:45+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>4.350</o1>
<o2>1.142</o2>
<o3>4.50</o3>
</odds>
</offer>
<offer id="4100852566" n="24" ot="4" otname="totals" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:37:45+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>7.800</o1>
<o2>1.023</o2>
<o3>5.50</o3>
</odds>
</offer>
<offer id="4100852567" n="23" ot="4" otname="totals" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:37:45+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.540</o1>
<o2>1.444</o2>
<o3>3.50</o3>
</odds>
</offer>
<offer id="4100852568" n="27" ot="4" otname="totals" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:37:45+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.168</o1>
<o2>4.050</o2>
<o3>1.50</o3>
</odds>
</offer>
<offer id="4101131496" n="20" ot="4" otname="totals" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T04:59:21+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.260</o1>
<o2>3.220</o2>
<o3>2.00</o3>
</odds>
</offer>
<offer id="4101131498" n="20" ot="4" otname="totals" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:37:45+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>3.740</o1>
<o2>1.193</o2>
<o3>4.00</o3>
</odds>
</offer>
<offer id="4101175260" n="21" ot="4" otname="totals" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:04:56+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>7.300</o1>
<o2>1.033</o2>
<o3>5.00</o3>
</odds>
</offer>
<offer id="4101239983" n="6" ot="4" otname="totals" last_updated="2025-12-04T05:42:29+00:00" flags="1" bmoid="290538806">
<odds i="0" time="2025-12-04T05:37:45+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.003</o1>
<o2>9.200</o2>
<o3>1.00</o3>
</odds>
</offer>
</bookmaker>
<bookmaker bid="825" name="SportyBet">
<offer id="4100843464" n="26" ot="0" otname="three way" last_updated="2025-12-04T05:44:11+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:33:37+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.050</o1>
<o2>3.500</o2>
<o3>3.100</o3>
</odds>
</offer>
<offer id="4101203609" n="2" ot="4" otname="totals" last_updated="2025-12-04T05:44:11+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T02:41:27+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>3.700</o1>
<o2>1.220</o2>
<o3>4.50</o3>
</odds>
</offer>
<offer id="4101203610" n="19" ot="11534337" otname="both teams to score" last_updated="2025-12-04T05:44:11+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:33:37+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.530</o1>
<o2>0.000</o2>
<o3>2.200</o3>
</odds>
</offer>
<offer id="4101203611" n="7" ot="4" otname="totals" last_updated="2025-12-04T05:44:11+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T04:58:22+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.640</o1>
<o2>2.100</o2>
<o3>2.50</o3>
</odds>
</offer>
<offer id="4101203612" n="11" ot="4" otname="totals" last_updated="2025-12-04T05:44:11+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:33:37+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.500</o1>
<o2>1.440</o2>
<o3>3.50</o3>
</odds>
</offer>
<offer id="4101221461" n="6" ot="4" otname="totals" last_updated="2025-12-04T05:44:11+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T04:58:22+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.190</o1>
<o2>4.000</o2>
<o3>1.50</o3>
</odds>
</offer>
</bookmaker>
<bookmaker bid="823" name="BetKing">
<offer id="4100846975" n="27" ot="0" otname="three way" last_updated="2025-12-04T05:42:58+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:32:55+00:00" starting_time="2025-12-04T12:00:00+00:00">
<o1>2.040</o1>
<o2>3.450</o2>
<o3>3.150</o3>
</odds>
</offer>
<offer id="4101204491" n="17" ot="5242880" otname="double chance (1x/x2/12)" last_updated="2025-12-04T05:42:58+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:32:55+00:00" starting_time="2025-12-04T12:00:00+00:00">
<o1>1.290</o1>
<o2>1.590</o2>
<o3>1.250</o3>
</odds>
</offer>
<offer id="4101204493" n="9" ot="4" otname="totals" last_updated="2025-12-04T05:42:58+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:23:05+00:00" starting_time="2025-12-04T12:00:00+00:00">
<o1>2.430</o1>
<o2>1.410</o2>
<o3>3.50</o3>
</odds>
</offer>
<offer id="4101204495" n="20" ot="11534337" otname="both teams to score" last_updated="2025-12-04T05:42:58+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:32:55+00:00" starting_time="2025-12-04T12:00:00+00:00">
<o1>1.520</o1>
<o2>0.000</o2>
<o3>2.160</o3>
</odds>
</offer>
<offer id="4101204496" n="8" ot="4" otname="totals" last_updated="2025-12-04T05:42:58+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T04:58:04+00:00" starting_time="2025-12-04T12:00:00+00:00">
<o1>1.600</o1>
<o2>2.020</o2>
<o3>2.50</o3>
</odds>
</offer>
<offer id="4101222024" n="8" ot="4" otname="totals" last_updated="2025-12-04T05:42:58+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:23:05+00:00" starting_time="2025-12-04T12:00:00+00:00">
<o1>1.180</o1>
<o2>3.700</o2>
<o3>1.50</o3>
</odds>
</offer>
</bookmaker>
<bookmaker bid="42" name="William Hill">
<offer id="4100869213" n="25" ot="5242880" otname="double chance (1x/x2/12)" last_updated="2025-12-04T05:47:40+00:00" flags="1" bmoid="37914891">
<odds i="0" time="2025-12-04T05:47:40+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.350</o1>
<o2>1.670</o2>
<o3>1.290</o3>
</odds>
</offer>
<offer id="4100869215" n="5" ot="4" otname="totals" last_updated="2025-12-04T05:47:40+00:00" flags="1" bmoid="37914891">
<odds i="0" time="2025-12-04T04:51:19+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.200</o1>
<o2>4.000</o2>
<o3>1.50</o3>
</odds>
</offer>
<offer id="4100869220" n="5" ot="4" otname="totals" last_updated="2025-12-04T05:47:40+00:00" flags="1" bmoid="37914891">
<odds i="0" time="2025-12-04T05:42:09+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.040</o1>
<o2>12.000</o2>
<o3>0.50</o3>
</odds>
</offer>
<offer id="4100869229" n="31" ot="0" otname="three way" last_updated="2025-12-04T05:47:40+00:00" flags="1" bmoid="37914891">
<odds i="0" time="2025-12-04T05:47:40+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.050</o1>
<o2>3.300</o2>
<o3>2.900</o3>
</odds>
</offer>
<offer id="4100869231" n="6" ot="4" otname="totals" last_updated="2025-12-04T05:47:40+00:00" flags="1" bmoid="37914891">
<odds i="0" time="2025-12-04T05:17:34+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.670</o1>
<o2>2.050</o2>
<o3>2.50</o3>
</odds>
</offer>
<offer id="4100869234" n="9" ot="11534337" otname="both teams to score" last_updated="2025-12-04T05:47:40+00:00" flags="1" bmoid="37914891">
<odds i="0" time="2025-12-04T05:27:33+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.570</o1>
<o2>0.000</o2>
<o3>2.250</o3>
</odds>
</offer>
<offer id="4100869243" n="5" ot="4" otname="totals" last_updated="2025-12-04T05:47:40+00:00" flags="1" bmoid="37914891">
<odds i="0" time="2025-12-04T04:56:13+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.700</o1>
<o2>1.400</o2>
<o3>3.50</o3>
</odds>
</offer>
</bookmaker>
<bookmaker bid="388" name="Eurobet.it">
<offer id="4100871058" n="69" ot="0" otname="three way" last_updated="2025-12-04T05:45:57+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:45:57+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.900</o1>
<o2>3.500</o2>
<o3>3.600</o3>
</odds>
</offer>
<offer id="4101211121" n="11" ot="4" otname="totals" last_updated="2025-12-04T05:44:24+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:29:16+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>4.200</o1>
<o2>1.120</o2>
<o3>4.50</o3>
</odds>
</offer>
<offer id="4101211122" n="10" ot="4" otname="totals" last_updated="2025-12-04T05:44:24+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:29:16+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.120</o1>
<o2>4.100</o2>
<o3>1.50</o3>
</odds>
</offer>
<offer id="4101211123" n="10" ot="4" otname="totals" last_updated="2025-12-04T05:44:24+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:29:16+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.400</o1>
<o2>1.420</o2>
<o3>3.50</o3>
</odds>
</offer>
<offer id="4101211124" n="10" ot="4" otname="totals" last_updated="2025-12-04T05:44:24+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:29:16+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.570</o1>
<o2>2.100</o2>
<o3>2.50</o3>
</odds>
</offer>
</bookmaker>
<bookmaker bid="110" name="Betfair">
<offer id="4100895183" n="58" ot="4" otname="totals" last_updated="2025-12-04T05:47:27+00:00" flags="1" bmoid="251307198">
<odds i="0" time="2025-12-04T05:45:57+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.100</o1>
<o2>1.160</o2>
<o3>4.50</o3>
</odds>
</offer>
<offer id="4100895191" n="76" ot="4" otname="totals" last_updated="2025-12-04T05:47:27+00:00" flags="1" bmoid="251307197">
<odds i="0" time="2025-12-04T05:45:57+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.250</o1>
<o2>1.480</o2>
<o3>2.50</o3>
</odds>
</offer>
<offer id="4100895198" n="37" ot="11534337" otname="both teams to score" last_updated="2025-12-04T05:47:27+00:00" flags="1" bmoid="251307236">
<odds i="0" time="2025-12-04T05:44:27+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.730</o1>
<o2>0.000</o2>
<o3>1.040</o3>
</odds>
</offer>
<offer id="4100895201" n="46" ot="4" otname="totals" last_updated="2025-12-04T05:47:27+00:00" flags="1" bmoid="251307158">
<odds i="0" time="2025-12-04T05:41:24+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.100</o1>
<o2>1.020</o2>
<o3>6.50</o3>
</odds>
</offer>
<offer id="4100895203" n="152" ot="5242880" otname="double chance (1x/x2/12)" last_updated="2025-12-04T05:47:27+00:00" flags="1" bmoid="251307153">
<odds i="0" time="2025-12-04T05:45:57+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.250</o1>
<o2>1.730</o2>
<o3>1.260</o3>
</odds>
</offer>
<offer id="4100895207" n="21" ot="4" otname="totals" last_updated="2025-12-04T05:47:27+00:00" flags="1" bmoid="251307149">
<odds i="0" time="2025-12-04T04:53:22+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.040</o1>
<o2>0.000</o2>
<o3>8.50</o3>
</odds>
</offer>
<offer id="4100895214" n="42" ot="4" otname="totals" last_updated="2025-12-04T05:47:27+00:00" flags="1" bmoid="251307151">
<odds i="0" time="2025-12-04T05:45:57+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.050</o1>
<o2>1.020</o2>
<o3>7.50</o3>
</odds>
</offer>
<offer id="4100895218" n="43" ot="4" otname="totals" last_updated="2025-12-04T05:47:27+00:00" flags="1" bmoid="251307160">
<odds i="0" time="2025-12-04T05:36:57+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.100</o1>
<o2>1.040</o2>
<o3>5.50</o3>
</odds>
</offer>
<offer id="4100895263" n="54" ot="4" otname="totals" last_updated="2025-12-04T05:47:27+00:00" flags="1" bmoid="251307156">
<odds i="0" time="2025-12-04T05:44:27+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.060</o1>
<o2>2.080</o2>
<o3>0.50</o3>
</odds>
</offer>
<offer id="4100895286" n="57" ot="4" otname="totals" last_updated="2025-12-04T05:47:27+00:00" flags="1" bmoid="251307201">
<odds i="0" time="2025-12-04T05:45:57+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.720</o1>
<o2>1.180</o2>
<o3>3.50</o3>
</odds>
</offer>
<offer id="4100895357" n="71" ot="4" otname="totals" last_updated="2025-12-04T05:47:27+00:00" flags="1" bmoid="251307200">
<odds i="0" time="2025-12-04T05:42:53+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.220</o1>
<o2>2.080</o2>
<o3>1.50</o3>
</odds>
</offer>
<offer id="4100895362" n="151" ot="0" otname="three way" last_updated="2025-12-04T05:47:27+00:00" flags="1" bmoid="251307152">
<odds i="0" time="2025-12-04T05:47:27+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.980</o1>
<o2>3.150</o2>
<o3>3.000</o3>
</odds>
</offer>
</bookmaker>
<bookmaker bid="658" name="Bet9ja">
<offer id="4100973140" n="21" ot="4" otname="totals" last_updated="2025-12-04T05:43:06+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:20:51+00:00" starting_time="2025-12-04T10:00:00+00:00">
<o1>1.150</o1>
<o2>4.300</o2>
<o3>1.50</o3>
</odds>
</offer>
<offer id="4100973141" n="24" ot="5242880" otname="double chance (1x/x2/12)" last_updated="2025-12-04T05:43:06+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:35:44+00:00" starting_time="2025-12-04T10:00:00+00:00">
<o1>1.190</o1>
<o2>1.720</o2>
<o3>1.210</o3>
</odds>
</offer>
<offer id="4100973142" n="28" ot="0" otname="three way" last_updated="2025-12-04T05:43:06+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:35:44+00:00" starting_time="2025-12-04T10:00:00+00:00">
<o1>1.860</o1>
<o2>3.400</o2>
<o3>3.500</o3>
</odds>
</offer>
<offer id="4100973143" n="16" ot="4" otname="totals" last_updated="2025-12-04T05:43:06+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:20:51+00:00" starting_time="2025-12-04T10:00:00+00:00">
<o1>1.580</o1>
<o2>2.150</o2>
<o3>2.50</o3>
</odds>
</offer>
<offer id="4100973145" n="31" ot="11534337" otname="both teams to score" last_updated="2025-12-04T05:43:06+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:20:51+00:00" starting_time="2025-12-04T10:00:00+00:00">
<o1>1.470</o1>
<o2>0.000</o2>
<o3>2.320</o3>
</odds>
</offer>
<offer id="4100973150" n="24" ot="4" otname="totals" last_updated="2025-12-04T05:43:06+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:20:51+00:00" starting_time="2025-12-04T10:00:00+00:00">
<o1>2.420</o1>
<o2>1.460</o2>
<o3>3.50</o3>
</odds>
</offer>
</bookmaker>
<bookmaker bid="30" name="Bwin">
<offer id="4101007656" n="16" ot="4" otname="totals" last_updated="2025-12-04T05:29:48+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:06:00+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.650</o1>
<o2>2.100</o2>
<o3>2.50</o3>
</odds>
</offer>
<offer id="4101007658" n="22" ot="5242880" otname="double chance (1x/x2/12)" last_updated="2025-12-04T05:29:48+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:06:00+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.320</o1>
<o2>1.730</o2>
<o3>1.270</o3>
</odds>
</offer>
<offer id="4101007659" n="11" ot="4" otname="totals" last_updated="2025-12-04T05:29:48+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:06:00+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.210</o1>
<o2>4.000</o2>
<o3>1.50</o3>
</odds>
</offer>
<offer id="4101007660" n="25" ot="0" otname="three way" last_updated="2025-12-04T05:29:48+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:06:00+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.950</o1>
<o2>3.400</o2>
<o3>3.100</o3>
</odds>
</offer>
<offer id="4101007665" n="13" ot="4" otname="totals" last_updated="2025-12-04T05:29:48+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:06:00+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.600</o1>
<o2>1.430</o2>
<o3>3.50</o3>
</odds>
</offer>
<offer id="4101147239" n="5" ot="4" otname="totals" last_updated="2025-12-04T03:35:55+00:00" flags="0" bmoid="0">
<odds i="0" time="2025-12-04T03:35:55+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>3.750</o1>
<o2>1.230</o2>
<o3>4.50</o3>
</odds>
</offer>
</bookmaker>
<bookmaker bid="13" name="Sportingbet">
<offer id="4101007810" n="22" ot="5242880" otname="double chance (1x/x2/12)" last_updated="2025-12-04T05:06:34+00:00" flags="1" bmoid="https://sports.sportingbet.com/en/sports/events/gabala-fk-shafa-fk-baku-2:7718236">
<odds i="0" time="2025-12-04T05:06:03+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.320</o1>
<o2>1.730</o2>
<o3>1.270</o3>
</odds>
</offer>
<offer id="4101007817" n="15" ot="4" otname="totals" last_updated="2025-12-04T05:06:34+00:00" flags="1" bmoid="https://sports.sportingbet.com/en/sports/events/gabala-fk-shafa-fk-baku-2:7718236">
<odds i="0" time="2025-12-04T05:06:03+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.650</o1>
<o2>2.100</o2>
<o3>2.50</o3>
</odds>
</offer>
<offer id="4101007823" n="10" ot="4" otname="totals" last_updated="2025-12-04T05:06:34+00:00" flags="1" bmoid="https://sports.sportingbet.com/en/sports/events/gabala-fk-shafa-fk-baku-2:7718236">
<odds i="0" time="2025-12-04T05:06:03+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.210</o1>
<o2>4.000</o2>
<o3>1.50</o3>
</odds>
</offer>
<offer id="4101007824" n="25" ot="0" otname="three way" last_updated="2025-12-04T05:06:34+00:00" flags="1" bmoid="https://sports.sportingbet.com/en/sports/events/gabala-fk-shafa-fk-baku-2:7718236">
<odds i="0" time="2025-12-04T05:06:03+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.950</o1>
<o2>3.400</o2>
<o3>3.100</o3>
</odds>
</offer>
<offer id="4101007845" n="24" ot="11534337" otname="both teams to score" last_updated="2025-12-04T05:06:34+00:00" flags="1" bmoid="https://sports.sportingbet.com/en/sports/events/gabala-fk-shafa-fk-baku-2:7718236">
<odds i="0" time="2025-12-04T05:06:03+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.600</o1>
<o2>0.000</o2>
<o3>2.150</o3>
</odds>
</offer>
<offer id="4101007846" n="12" ot="4" otname="totals" last_updated="2025-12-04T05:06:34+00:00" flags="1" bmoid="https://sports.sportingbet.com/en/sports/events/gabala-fk-shafa-fk-baku-2:7718236">
<odds i="0" time="2025-12-04T05:06:03+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.600</o1>
<o2>1.430</o2>
<o3>3.50</o3>
</odds>
</offer>
<offer id="4101147330" n="5" ot="4" otname="totals" last_updated="2025-12-04T03:36:20+00:00" flags="0" bmoid="https://sports.sportingbet.com/en/sports/events/gabala-fk-shafa-fk-baku-2:7718236">
<odds i="0" time="2025-12-04T03:36:20+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>3.750</o1>
<o2>1.230</o2>
<o3>4.50</o3>
</odds>
</offer>
</bookmaker>
<bookmaker bid="17" name="Ladbrokes">
<offer id="4101040663" n="17" ot="5242880" otname="double chance (1x/x2/12)" last_updated="2025-12-04T05:47:02+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:08:58+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.330</o1>
<o2>1.750</o2>
<o3>1.280</o3>
</odds>
</offer>
<offer id="4101040664" n="12" ot="4" otname="totals" last_updated="2025-12-04T05:47:02+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:08:58+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.670</o1>
<o2>2.100</o2>
<o3>2.50</o3>
</odds>
</offer>
<offer id="4101040665" n="5" ot="4" otname="totals" last_updated="2025-12-04T05:47:02+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:08:58+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.220</o1>
<o2>4.000</o2>
<o3>1.50</o3>
</odds>
</offer>
<offer id="4101040666" n="20" ot="0" otname="three way" last_updated="2025-12-04T05:47:02+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:08:58+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.950</o1>
<o2>3.400</o2>
<o3>3.100</o3>
</odds>
</offer>
<offer id="4101040670" n="17" ot="11534337" otname="both teams to score" last_updated="2025-12-04T05:47:02+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T04:49:55+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.600</o1>
<o2>0.000</o2>
<o3>2.200</o3>
</odds>
</offer>
<offer id="4101040671" n="8" ot="4" otname="totals" last_updated="2025-12-04T05:47:02+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:08:58+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.600</o1>
<o2>1.440</o2>
<o3>3.50</o3>
</odds>
</offer>
</bookmaker>
<bookmaker bid="539" name="Marathonbet">
<offer id="4101172829" n="70" ot="5242880" otname="double chance (1x/x2/12)" last_updated="2025-12-04T05:46:18+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:46:18+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.240</o1>
<o2>1.670</o2>
<o3>1.230</o3>
</odds>
</offer>
<offer id="4101172830" n="48" ot="4" otname="totals" last_updated="2025-12-04T05:46:18+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:44:11+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>4.400</o1>
<o2>1.141</o2>
<o3>4.50</o3>
</odds>
</offer>
<offer id="4101172831" n="44" ot="4" otname="totals" last_updated="2025-12-04T05:42:20+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T04:59:39+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.210</o1>
<o2>3.580</o2>
<o3>1.75</o3>
</odds>
</offer>
<offer id="4101172834" n="78" ot="0" otname="three way" last_updated="2025-12-04T05:46:18+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:46:18+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.950</o1>
<o2>3.360</o2>
<o3>3.300</o3>
</odds>
</offer>
<offer id="4101172838" n="72" ot="7340033" otname="to progress" last_updated="2025-12-04T05:47:05+00:00" flags="1" bmoid="">
<odds i="0" time="2025-12-04T05:47:05+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.510</o1>
<o2>0.000</o2>
<o3>2.320</o3>
</odds>
</offer>
<offer id="4101172839" n="44" ot="4" otname="totals" last_updated="2025-12-04T05:42:20+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:08:58+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.760</o1>
<o2>1.860</o2>
<o3>2.75</o3>
</odds>
</offer>
<offer id="4101172840" n="26" ot="4" otname="totals" last_updated="2025-12-04T05:42:20+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T04:59:39+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.440</o1>
<o2>2.430</o2>
<o3>2.25</o3>
</odds>
</offer>
<offer id="4101172841" n="54" ot="4" otname="totals" last_updated="2025-12-04T05:42:20+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:33:57+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.260</o1>
<o2>3.220</o2>
<o3>2.00</o3>
</odds>
</offer>
<offer id="4101172848" n="34" ot="4" otname="totals" last_updated="2025-12-04T05:42:20+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T04:59:39+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.920</o1>
<o2>1.310</o2>
<o3>3.75</o3>
</odds>
</offer>
<offer id="4101172852" n="46" ot="4" otname="totals" last_updated="2025-12-04T05:42:20+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:08:58+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.240</o1>
<o2>1.520</o2>
<o3>3.25</o3>
</odds>
</offer>
<offer id="4101172853" n="41" ot="4" otname="totals" last_updated="2025-12-04T05:47:05+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:47:05+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>3.760</o1>
<o2>1.191</o2>
<o3>4.00</o3>
</odds>
</offer>
<offer id="4101172859" n="44" ot="4" otname="totals" last_updated="2025-12-04T05:42:20+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:08:58+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.610</o1>
<o2>2.070</o2>
<o3>2.50</o3>
</odds>
</offer>
<offer id="4101172864" n="52" ot="4" otname="totals" last_updated="2025-12-04T05:44:11+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:44:11+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.169</o1>
<o2>4.000</o2>
<o3>1.50</o3>
</odds>
</offer>
<offer id="4101172866" n="43" ot="4" otname="totals" last_updated="2025-12-04T05:42:20+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:08:58+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.990</o1>
<o2>1.660</o2>
<o3>3.00</o3>
</odds>
</offer>
<offer id="4101172868" n="54" ot="4" otname="totals" last_updated="2025-12-04T05:46:18+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:30:07+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>5.400</o1>
<o2>1.087</o2>
<o3>4.75</o3>
</odds>
</offer>
<offer id="4101172872" n="44" ot="4" otname="totals" last_updated="2025-12-04T05:44:52+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:08:58+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>7.300</o1>
<o2>1.032</o2>
<o3>5.00</o3>
</odds>
</offer>
<offer id="4101172874" n="40" ot="4" otname="totals" last_updated="2025-12-04T05:44:11+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:44:11+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.550</o1>
<o2>1.440</o2>
<o3>3.50</o3>
</odds>
</offer>
<offer id="4101172879" n="48" ot="4" otname="totals" last_updated="2025-12-04T05:46:18+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:46:18+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>4.100</o1>
<o2>1.163</o2>
<o3>4.25</o3>
</odds>
</offer>
<offer id="4101172881" n="53" ot="4" otname="totals" last_updated="2025-12-04T05:44:11+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:44:11+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>7.900</o1>
<o2>1.021</o2>
<o3>5.50</o3>
</odds>
</offer>
<offer id="4101173617" n="29" ot="11534337" otname="both teams to score" last_updated="2025-12-04T05:45:37+00:00" flags="1" bmoid="25766481,24214470">
<odds i="0" time="2025-12-04T05:42:12+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.540</o1>
<o2>0.000</o2>
<o3>2.220</o3>
</odds>
</offer>
<offer id="4101224664" n="10" ot="4" otname="totals" last_updated="2025-12-04T05:44:11+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:08:58+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.087</o1>
<o2>5.400</o2>
<o3>1.25</o3>
</odds>
</offer>
<offer id="4101238517" n="12" ot="4" otname="totals" last_updated="2025-12-04T05:44:11+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:44:11+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.003</o1>
<o2>9.100</o2>
<o3>1.00</o3>
</odds>
</offer>
</bookmaker>
<bookmaker bid="117" name="SNAI">
<offer id="4101245668" n="4" ot="5242880" otname="double chance (1x/x2/12)" last_updated="2025-12-04T05:43:22+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:43:22+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.210</o1>
<o2>1.630</o2>
<o3>1.200</o3>
</odds>
</offer>
<offer id="4101245669" n="4" ot="4" otname="totals" last_updated="2025-12-04T05:46:19+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:46:19+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>8.000</o1>
<o2>1.020</o2>
<o3>5.50</o3>
</odds>
</offer>
<offer id="4101245670" n="1" ot="4" otname="totals" last_updated="2025-12-04T05:40:07+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:25:49+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.140</o1>
<o2>4.400</o2>
<o3>1.50</o3>
</odds>
</offer>
<offer id="4101245672" n="1" ot="4" otname="totals" last_updated="2025-12-04T05:40:07+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:25:49+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>2.350</o1>
<o2>1.450</o2>
<o3>3.50</o3>
</odds>
</offer>
<offer id="4101245676" n="1" ot="4" otname="totals" last_updated="2025-12-04T05:40:07+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:25:49+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>1.550</o1>
<o2>2.150</o2>
<o3>2.50</o3>
</odds>
</offer>
<offer id="4101245678" n="4" ot="4" otname="totals" last_updated="2025-12-04T05:46:19+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:46:19+00:00" starting_time="2025-12-04T11:00:00+00:00">
<o1>4.250</o1>
<o2>1.150</o2>
<o3>4.50</o3>
</odds>
</offer>
</bookmaker>
<bookmaker bid="827" name="WPlay">
<offer id="4101251620" n="1" ot="5242880" otname="double chance (1x/x2/12)" last_updated="2025-12-04T05:45:45+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:45:45+00:00" starting_time="2025-12-04T13:00:00+00:00">
<o1>1.333</o1>
<o2>1.615</o2>
<o3>1.250</o3>
</odds>
</offer>
<offer id="4101251622" n="1" ot="4" otname="totals" last_updated="2025-12-04T05:45:45+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:45:45+00:00" starting_time="2025-12-04T13:00:00+00:00">
<o1>1.800</o1>
<o2>1.950</o2>
<o3>2.75</o3>
</odds>
</offer>
<offer id="4101251623" n="1" ot="0" otname="three way" last_updated="2025-12-04T05:45:45+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:45:45+00:00" starting_time="2025-12-04T13:00:00+00:00">
<o1>2.200</o1>
<o2>3.300</o2>
<o3>2.900</o3>
</odds>
</offer>
<offer id="4101251624" n="1" ot="4" otname="totals" last_updated="2025-12-04T05:45:45+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:45:45+00:00" starting_time="2025-12-04T13:00:00+00:00">
<o1>2.050</o1>
<o2>1.727</o2>
<o3>3.00</o3>
</odds>
</offer>
<offer id="4101251629" n="1" ot="11534337" otname="both teams to score" last_updated="2025-12-04T05:45:45+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:45:45+00:00" starting_time="2025-12-04T13:00:00+00:00">
<o1>1.480</o1>
<o2>0.000</o2>
<o3>2.350</o3>
</odds>
</offer>
<offer id="4101251630" n="1" ot="4" otname="totals" last_updated="2025-12-04T05:45:45+00:00" flags="1" bmoid="0">
<odds i="0" time="2025-12-04T05:45:45+00:00" starting_time="2025-12-04T13:00:00+00:00">
<o1>1.650</o1>
<o2>2.150</o2>
<o3>2.50</o3>
</odds>
</offer>
</bookmaker>
</match>
</matches>
+76
View File
@@ -0,0 +1,76 @@
<?php
namespace App\Console\Commands;
use App\Utilities\Notice;
class Xml
{
public static $file;
public static function load($url)
{
$debug = NuhBash::$options['d'] ?? 0;
$save = NuhBash::$options['s'] ?? 0;
$read = NuhBash::$options['r'] ?? 0;
$filename = app_path().'/Console/Commands/TestFiles/'.strtolower(str_replace(' ', '_', NuhBash::$options['name'])).'.xml';
if ($debug) {
Notice::note("Loading URL\n".$url);
}
if ($save || $read) {
Notice::note("FILE NAME\n".$filename);
}
if ($read) {
if ($debug) {
Notice::note('READ LOCAL', 'r');
}
// return simplexml_load_file(self::$file, null, LIBXML_NOCDATA);
if (! file_exists($filename)) {
Notice::note("Error: File $filename does not exist.", 'r', 1);
} elseif (! is_readable($filename)) {
Notice::note("Error: File $filename is not readable.", 'r', 1);
} else {
$data = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA);
if ($data === false) {
Notice::note("Error: Failed to load XML from $filename", 'r', 1);
foreach (libxml_get_errors() as $error) {
Notice::note("XML Error: {$error->message}\n", 'r');
}
} else {
// Process the XML object
return $data;
}
}
}
$data = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA);
if ($data === false && $debug) {
Notice::note("Error: Failed to load XML from $url", 'r', 1);
foreach (libxml_get_errors() as $error) {
Notice::note("XML Error: {$error->message}\n", 'r');
}
}
if ($save) {
if (! file_exists($filename)) {
Notice::note("Error: File $filename does not exist.", 'r', 1);
} elseif (! is_readable($filename)) {
Notice::note("Error: File $filename is not readable.", 'r', 1);
} elseif (! is_writable($filename)) {
Notice::note("Error: File $filename is not writable.", 'r', 1);
} else {
$data->asXml($filename);
Notice::note('SAVED AND EXIT', 'b', 1);
}
}
return $data;
}
}
-1
View File
@@ -1 +0,0 @@
{"@attributes":{"time":"2025-12-01T15:15:42+00:00","timestamp":"1764602142"},"match":[{"@attributes":{"id":"14546537","xsid":"0","gsmid":"0","last_updated":"2025-12-01T03:21:08+00:00"},"time":"2025-12-01T20:00:00+00:00","group":{"@attributes":{"id":"176998","cgid":"471","spid":"1","cnid":"467","mgid":"1002","cname":"Prim B Metro"},"@text":"FBARG Prim B Metro > Clausura-25"},"hteam":{"@attributes":{"id":"45668"},"@text":"Deportivo Armenio"},"ateam":{"@attributes":{"id":"41971"},"@text":"Sportivo Italiano"},"results":{"status":{"@attributes":{"last_updated":"2025-12-01T03:21:08+00:00","minute":"-1"},"@text":"Sched"},"result":{"@attributes":{"id":"1","name":"CURRENT","value":""}}}},{"@attributes":{"id":"14562676","xsid":"0","gsmid":"0","last_updated":"2025-12-01T04:01:21+00:00"},"time":"2025-12-01T00:00:00+00:00","group":{"@attributes":{"id":"180820","cgid":"501","spid":"1","cnid":"467","mgid":"1002","cname":"Torneo Regional Federal Amateur"},"@text":"FBARG Torneo Regional Federal Amateur-25"},"hteam":{"@attributes":{"id":"131618"},"@text":"Defensores de Salto"},"ateam":{"@attributes":{"id":"1642554"},"@text":"Argentino Chacabuco"},"results":{"status":{"@attributes":{"last_updated":"2025-12-01T04:01:20+00:00","minute":"-1"},"@text":"Fin"},"result":{"@attributes":{"id":"1","name":"CURRENT","value":""}}}},{"@attributes":{"id":"14557469","xsid":"0","gsmid":"0","last_updated":"2025-11-26T18:53:27+00:00"},"time":"2025-12-01T20:00:00+00:00","group":{"@attributes":{"id":"181746","cgid":"87","spid":"1","cnid":"467","mgid":"1002","cname":"Liga Profesional Argentina"},"@text":"FBARG Liga Profesional Argentina > Clausura Quarter Finals-25"},"hteam":{"@attributes":{"id":"58621"},"@text":"Barracas Central"},"ateam":{"@attributes":{"id":"2049"},"@text":"Gimnasia LP"},"results":{"status":{"@attributes":{"last_updated":"2025-11-26T18:53:26+00:00","minute":"-1"},"@text":"Sched"},"result":{"@attributes":{"id":"1","name":"CURRENT","value":""}}}},{"@attributes":{"id":"14563565","xsid":"0","gsmid":"0","last_updated":"2025-11-29T12:24:10+00:00"},"time":"2025-12-01T22:00:00+00:00","group":{"@attributes":{"id":"180791","cgid":"1164","spid":"1","cnid":"409","mgid":"1009","cname":"Copa Fares Lopes"},"@text":"FBBRA Copa Fares Lopes-25"},"hteam":{"@attributes":{"id":"1004395"},"@text":"Fortaleza B"},"ateam":{"@attributes":{"id":"1482714"},"@text":"Centro de Formacao de Atletas Tirol"},"results":{"status":{"@attributes":{"last_updated":"2025-11-29T12:24:09+00:00","minute":"-1"},"@text":"Sched"},"result":{"@attributes":{"id":"1","name":"CURRENT","value":""}}}},{"@attributes":{"id":"14561535","xsid":"0","gsmid":"0","last_updated":"2025-11-29T15:16:15+00:00"},"time":"2025-12-01T11:30:00+00:00","group":{"@attributes":{"id":"181798","cgid":"51812","spid":"1","cnid":"409","mgid":"1009","cname":"Copa Recife U20"},"@text":"FBBRA Copa Recife U20-25"},"hteam":{"@attributes":{"id":"132428"},"@text":"Sport Recife PE U20"},"ateam":{"@attributes":{"id":"2235604"},"@text":"Cha Grande PE U20"},"results":{"status":{"@attributes":{"last_updated":"2025-11-29T15:16:13+00:00","minute":"-1"},"@text":"Sched"},"result":{"@attributes":{"id":"1","name":"CURRENT","value":""}}}},{"@attributes":{"id":"14561542","xsid":"0","gsmid":"0","last_updated":"2025-11-28T11:08:40+00:00"},"time":"2025-12-01T13:00:00+00:00","group":{"@attributes":{"id":"181798","cgid":"51812","spid":"1","cnid":"409","mgid":"1009","cname":"Copa Recife U20"},"@text":"FBBRA Copa Recife U20-25"},"hteam":{"@attributes":{"id":"2235656"},"@text":"Internacional PE U20"},"ateam":{"@attributes":{"id":"1455508"},"@text":"Serrano PE U20"},"results":{"status":{"@attributes":{"last_updated":"2025-11-28T11:08:40+00:00","minute":"-1"},"@text":"Sched"},"result":{"@attributes":{"id":"1","name":"CURRENT","value":""}}}},{"@attributes":{"id":"14563579","xsid":"0","gsmid":"0","last_updated":"2025-11-29T15:13:15+00:00"},"time":"2025-12-01T16:30:00+00:00","group":{"@attributes":{"id":"181798","cgid":"51812","spid":"1","cnid":"409","mgid":"1009","cname":"Copa Recife U20"},"@text":"FBBRA Copa Recife U20-25"},"hteam":{"@attributes":{"id":"2235956"},"@text":"Inter Arabia U20"},"ateam":{"@attributes":{"id":"1493668"},"@text":"Guarany AL U20"},"results":{"status":{"@attributes":{"last_updated":"2025-11-29T15:13:13+00:00","minute":"-1"},"@text":"Sched"},"result":{"@attributes":{"id":"1","name":"CURRENT","value":""}}}},{"@attributes":{"id":"14563577","xsid":"0","gsmid":"0","last_updated":"2025-11-29T16:04:15+00:00"},"time":"2025-12-01T17:30:00+00:00","group":{"@attributes":{"id":"181798","cgid":"51812","spid":"1","cnid":"409","mgid":"1009","cname":"Copa Recife U20"},"@text":"FBBRA Copa Recife U20-25"},"hteam":{"@attributes":{"id":"2198184"},"@text":"Guarany EC U20"},"ateam":{"@attributes":{"id":"1180207"},"@text":"Ipojuca PE U20"},"results":{"status":{"@attributes":{"last_updated":"2025-11-29T16:04:14+00:00","minute":"-1"},"@text":"Sched"},"result":{"@attributes":{"id":"1","name":"CURRENT","value":""}}}},{"@attributes":{"id":"Line truncated
File diff suppressed because it is too large. Load diff
@@ -6,9 +6,11 @@ use App\Filament\Resources\Events\Pages\ListEvents;
use App\Filament\Resources\Events\Schemas\EventForm;
use App\Filament\Resources\Events\Tables\EventsTable;
use App\Models\Event;
use Carbon\Carbon;
use Filament\Resources\Resource;
use Filament\Schemas\Schema;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
class EventResource extends Resource
{
@@ -52,4 +54,15 @@ class EventResource extends Resource
'index' => ListEvents::route('/'),
];
}
public static function getNavigationBadge(): ?string
{
return parent::getEloquentQuery()
->count();
}
public static function getEloquentQuery(): Builder
{
return parent::getEloquentQuery()->withoutGlobalScopes()->with('odds_3way')->where('starttime', '>', Carbon::now());
}
}
@@ -2,6 +2,7 @@
namespace App\Filament\Resources\Events\Tables;
use App\Filament\Tables\Columns\Odds3Way;
use Carbon\Carbon;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
@@ -36,8 +37,8 @@ class EventsTable
->label('Event')
->icon(fn ($record) => $record->country->icon)
->description(fn ($record) => $record->home->name.' - '.$record->away->name, position: 'belowe'),
TextColumn::make('updated_at')
->dateTime('d.m H:i'),
Odds3Way::make('3way')->label('1 X 2')->alignCenter(),
IconColumn::make('id'),
])
->filters([
//
+10
View File
@@ -0,0 +1,10 @@
<?php
namespace App\Filament\Tables\Columns;
use Filament\Tables\Columns\Column;
class Odds3Way extends Column
{
protected string $view = 'filament.tables.columns.odds3-way';
}
+5
View File
@@ -49,4 +49,9 @@ class Event extends Model
{
return $this->hasOne(Element::class, 'txodds_id', 'away_id');
}
public function odds_3way()
{
return $this->hasMany(Odds3way::class);
}
}
@@ -44,8 +44,10 @@ class AdminPanelProvider extends PanelProvider
->databaseNotifications()
->profile(isSimple: false)
->default()
->brandLogo(asset('images/nuh-combined.svg'))
->darkModeBrandLogo(asset('images/nuh-combined-d.svg'))
// ->brandLogo(asset('images/nuh-combined.svg'))
// ->darkModeBrandLogo(asset('images/nuh-combined-d.svg'))
->brandLogo(asset('images/nuh-odds.svg'))
->darkModeBrandLogo(asset('images/nuh-odds-d.svg'))
->favicon(asset('images/nuh.svg'))
->brandLogoHeight('1.8rem')
->unsavedChangesAlerts()