$sport_id) { $matches = LogifutureData::load($logifuture_sport_id); if ($echo_data) { Notice::note($matches, 'g'); } if (! is_array($matches)) { return; } if (! isset($matches['error'])) { foreach ($matches as $match) { if (strpos($match['sportCategory'], 'Simulated Reality') === false) { $event = MapEvent::filter($sport_id, $match); FindFixture::find($event); if (isset($event['id'])) { $event_id_collector[] = $event['id']; $max_tries = 5; $tries = 0; do { $retry = false; try { $handle = EventBookmaker::updateOrCreate([ 'event_id' => $event['id'], 'sport_id' => $sport_id, 'bookmaker_id' => Nuh::$options['bookmaker_id'], ], ['in_feed' => 1, 'bmoid' => $event['event_id'], 'startime' => $event['starttime']]); return $handle; } catch (PDOException $exc) { if ($tries < $max_tries && $exc->errorInfo[0] == 40001 && $exc->errorInfo[1] == 1213) { $retry = true; sleep(1); } else { throw $exc; } } } while ($retry); switch ($sport_id) { case 1: Soccer::get($event, $match); break; case 2: Icehockey::get($event, $match); break; case 3: Basketball::get($event, $match); break; case 5: Tennis::get($event, $match); break; default: Notice::note('SPORT NOT IMPLEMENTED', 'r', 1); break; } } } } } } if ($event_id_collector) { $max_tries = 5; $tries = 0; do { $retry = false; try { $handle = EventBookmaker::whereNotIn('event_id', $event_id_collector)->where('bookmaker_id', Nuh::$options['bookmaker_id'])->update(['in_feed' => 0]); return $handle; } catch (PDOException $exc) { if ($tries < $max_tries && $exc->errorInfo[0] == 40001 && $exc->errorInfo[1] == 1213) { $retry = true; sleep(1); } else { throw $exc; } } } while ($retry); $tables = ['odds_2ways', 'odds_2ways_s1', 'odds_3ways', 'odds_totals', 'odds_points', 'odds_ggng', 'odds_dc', 'odds_tq', 'odds_points_q1', 'odds_totals_q1']; foreach ($tables as $table) { DB::table($table)->where('bookmaker_id', Nuh::$options['bookmaker_id'])->whereNotIn('event_id', $event_id_collector)->update(['flags' => 0]); } } } }