Example #1
0
 protected function calcolaClassifica($giornata)
 {
     $squadre_classifica = array();
     $campionato_id = $giornata->campionato_id;
     $array_squadre = Squadra::where('campionato_id', $campionato_id)->get();
     $dati_casa = array();
     $dati_trasferta = array();
     foreach ($array_squadre as $squadra) {
         $dati_casa[$squadra->id] = $this->ricavaDatiPartiteInCasa($squadra, $giornata);
         $dati_trasferta[$squadra->id] = $this->ricavaDatiPartiteInTrasferta($squadra, $giornata);
         $dati_totale[$squadra->id] = $this->ricavaDatiTotaleSquadra($dati_casa[$squadra->id], $dati_trasferta[$squadra->id], $squadra->nomesquadra);
         $squadre_classifica[$squadra->id] = $dati_totale[$squadra->id];
     }
     //ordina in base a punti->differenza reti->gol fatti->nome
     usort($squadre_classifica, function ($a, $b) {
         $result = $b['punti'] - $a['punti'];
         if ($b['punti'] == $a['punti']) {
             $result = $b['gol_fatti'] - $b['gol_subiti'] - ($a['gol_fatti'] - $a['gol_subiti']);
             if ($b['gol_fatti'] - $b['gol_subiti'] == $a['gol_fatti'] - $a['gol_subiti']) {
                 $result = $b['gol_fatti'] - $a['gol_fatti'];
                 if ($b['gol_fatti'] == $a['gol_fatti']) {
                     $result = strcmp($a['nome'], $b['nome']);
                 }
             }
         }
         return $result;
     });
     return $squadre_classifica;
 }
Example #2
0
 | Here is where you can register all of the routes for an application.
 | It's a breeze. Simply tell Laravel the URIs it should respond to
 | and give it the Closure to execute when that URI is requested.
 |
*/
Route::get('/', 'CampionatiController@index');
// Provide controller methods with object instead of ID
Route::model('campionati', 'Campionato');
Route::model('giornate', 'Giornata');
Route::model('squadre', 'Squadra');
Route::model('partite', 'Partita');
Route::bind('campionati', function ($value) {
    return Campionato::where('id', $value)->first();
});
Route::bind('squadre', function ($value) {
    return Squadra::whereId($value)->first();
});
Route::bind('giornate', function ($value) {
    return Giornata::whereId($value)->first();
});
Route::bind('partite', function ($value) {
    return Partita::whereId($value)->first();
});
Route::resource('campionati', 'CampionatiController');
Route::resource('giornate', 'GiornateController');
Route::resource('squadre', 'SquadreController');
Route::resource('partite', 'PartiteController');
Route::get('/importCalendar', function () {
    $importCalendar = new ImportCalendar();
    $result = $importCalendar->importCalendarFromFile();
    echo 'Result ->' . $result, '<br>';
Example #3
0
 protected function updateDB($array_results)
 {
     $cont_partite_aggiornate = 0;
     //ricava idcampionato
     $campionato = Campionato::where('div', $this->div_campionato)->where('stagione', $this->stagione_full)->first();
     $idcampionato = $campionato->id;
     foreach ($array_results as $value) {
         //ricava id_squadracasa
         $squadra_casa = $value['HomeTeam'];
         $id_squadracasa = Squadra::where('campionato_id', $idcampionato)->where('nomecsv', $squadra_casa)->first()->id;
         //ricava id_squadratrasferta
         $squadra_trasferta = $value['AwayTeam'];
         $id_squadratrasferta = Squadra::where('campionato_id', $idcampionato)->where('nomecsv', $squadra_trasferta)->first()->id;
         //ricava id_partita
         $id_partita = Partita::where('campionato_id', $idcampionato)->where('id_squadracasa', $id_squadracasa)->where('id_squadratrasferta', $id_squadratrasferta)->first()->id;
         //verifica se la partita è già stata aggiornata, e in caso positivo va a quella successiva
         $giocata = Partita::where('id', $id_partita)->first()->giocata;
         if ($giocata) {
             continue;
         }
         //ricava la data in formato per mysql
         $data_csv = $value['Date'];
         //attuale formato dd/mm/yy
         $data_ok = date_create_from_format('d/m/y', $data_csv);
         $data_mysql = date_format($data_ok, 'Y-m-d');
         //crea il record da scrivere
         $record_partita = array('giocata' => TRUE, 'data' => $data_mysql, 'fthg' => $value['FTHG'], 'ftag' => $value['FTAG'], 'ftr' => $value['FTR'], 'hthg' => $value['HTHG'], 'htag' => $value['HTAG'], 'htr' => $value['HTR']);
         //Match Statistics (Opzionali)
         if (isset($value['Attendance'])) {
             $record_partita['attendance'] = $value['Attendance'];
         }
         if (isset($value['Referee'])) {
             $record_partita['referee'] = $value['Referee'];
         }
         if (isset($value['HS'])) {
             $record_partita['hs'] = $value['HS'];
         }
         if (isset($value['AS'])) {
             $record_partita['as'] = $value['AS'];
         }
         if (isset($value['HST'])) {
             $record_partita['hst'] = $value['HST'];
         }
         if (isset($value['AST'])) {
             $record_partita['ast'] = $value['AST'];
         }
         if (isset($value['HHW'])) {
             $record_partita['hhw'] = $value['HHW'];
         }
         if (isset($value['AHW'])) {
             $record_partita['ahw'] = $value['AHW'];
         }
         if (isset($value['HC'])) {
             $record_partita['hc'] = $value['HC'];
         }
         if (isset($value['AC'])) {
             $record_partita['ac'] = $value['AC'];
         }
         if (isset($value['HF'])) {
             $record_partita['hf'] = $value['HF'];
         }
         if (isset($value['AF'])) {
             $record_partita['af'] = $value['AF'];
         }
         if (isset($value['HO'])) {
             $record_partita['ho'] = $value['HO'];
         }
         if (isset($value['AO'])) {
             $record_partita['ao'] = $value['AO'];
         }
         if (isset($value['HY'])) {
             $record_partita['hy'] = $value['HY'];
         }
         if (isset($value['AY'])) {
             $record_partita['ay'] = $value['AY'];
         }
         if (isset($value['HR'])) {
             $record_partita['hr'] = $value['HR'];
         }
         if (isset($value['AR'])) {
             $record_partita['ar'] = $value['AR'];
         }
         if (isset($value['HBP'])) {
             $record_partita['hbp'] = $value['HBP'];
         }
         if (isset($value['ABP'])) {
             $record_partita['abp'] = $value['ABP'];
         }
         //Quote medie Bookmakers Betbrain
         $record_partita['bbavh'] = $value['BbAvH'];
         $record_partita['bbavd'] = $value['BbAvD'];
         $record_partita['bbava'] = $value['BbAvA'];
         $record_partita['bbavover25'] = $value['BbAv>2.5'];
         $record_partita['bbavunder25'] = $value['BbAv<2.5'];
         //aggiorna la partita sul DB
         Partita::where('id', $id_partita)->update($record_partita);
         $cont_partite_aggiornate++;
     }
     return $cont_partite_aggiornate;
 }
Example #4
0
 protected function ricavaPartiteSquadra($id_squadracasa, $campionato_id)
 {
     $array_analisi_squadra = array();
     $array_partite_casa = Partita::where('campionato_id', $campionato_id)->where('id_squadracasa', $id_squadracasa)->get();
     foreach ($array_partite_casa as $partita) {
         $nomesquadra = Squadra::where('id', $partita->id_squadratrasferta)->first()->nomesquadra;
         $giornata = Giornata::where('id', $partita->giornata_id)->first()->giornata;
         if ($partita->giocata) {
             switch ($partita->ftr) {
                 case 'H':
                     $esito = 'V';
                     break;
                 case 'D':
                     $esito = 'N';
                     break;
                 case 'A':
                     $esito = 'P';
                     break;
             }
             $risultato = $partita->fthg . '-' . $partita->ftag;
         } else {
             $esito = null;
             $risultato = ' - ';
         }
         $array_analisi_squadra[$giornata] = array('squadra' => $nomesquadra, 'tipo' => 'Casa', 'esito' => $esito, 'risultato' => $risultato);
     }
     $array_partite_trasferta = Partita::where('campionato_id', $campionato_id)->where('id_squadratrasferta', $id_squadracasa)->get();
     foreach ($array_partite_trasferta as $partita) {
         $nomesquadra = Squadra::where('id', $partita->id_squadracasa)->first()->nomesquadra;
         $giornata = Giornata::where('id', $partita->giornata_id)->first()->giornata;
         if ($partita->giocata) {
             switch ($partita->ftr) {
                 case 'H':
                     $esito = 'P';
                     break;
                 case 'D':
                     $esito = 'N';
                     break;
                 case 'A':
                     $esito = 'V';
                     break;
             }
             $risultato = $partita->ftag . '-' . $partita->fthg;
         } else {
             $esito = null;
             $risultato = ' - ';
         }
         $array_analisi_squadra[$giornata] = array('squadra' => $nomesquadra, 'tipo' => 'Trasferta', 'esito' => $esito, 'risultato' => $risultato);
     }
     ksort($array_analisi_squadra);
     return $this->formattaAnalisiPerTabella($array_analisi_squadra);
 }
Example #5
0
 protected function scriviCalendarioSuDatabase($div_campionato)
 {
     //ricava idcampionato
     $campionato = Campionato::where('div', $div_campionato)->where('stagione', $this->stagione)->first();
     $idcampionato = $campionato->id;
     //scrive tabella Squadre
     foreach ($this->arraySquadre as $value) {
         $record_squadra = array('campionato_id' => $idcampionato, 'nomesquadra' => $value, 'nomecsv' => $this->getCsvNameFromCalendarName($value));
         Squadra::create($record_squadra);
     }
     //scrive tabella Giornate
     foreach ($this->arrayGiornate as $value) {
         $record_giornata = array('campionato_id' => $idcampionato, 'giornata' => $value['num'], 'data' => $value['data']);
         Giornata::create($record_giornata);
     }
     //scrive tabella Partite
     foreach ($this->arrayPartite as $value) {
         //ricava id_giornata
         $id_giornata = Giornata::where('campionato_id', $idcampionato)->where('giornata', $value['giornata'])->first()->id;
         //ricava id_squadracasa
         $id_squadracasa = Squadra::where('campionato_id', $idcampionato)->where('nomesquadra', $value['casa'])->first()->id;
         //ricava id_squadratrasferta
         $id_squadratrasferta = Squadra::where('campionato_id', $idcampionato)->where('nomesquadra', $value['trasferta'])->first()->id;
         $record_partita = array('campionato_id' => $idcampionato, 'giornata_id' => $id_giornata, 'id_squadracasa' => $id_squadracasa, 'id_squadratrasferta' => $id_squadratrasferta);
         Partita::create($record_partita);
     }
 }