From 3c97a446c7c170625e51b02058d2d560b227c4d0 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Mon, 17 Sep 2012 09:50:13 +0000 Subject: [PATCH] Poprawa błędu w klasie BotSession powodującego wielokrotne tworzenie wpisów w bazie danych sesyjnych (class=NULL, name=user_struct). --- data/lotto/pobierz.php | 49 +++++++++++++++++++++++++++++++++++-------------- 1 files changed, 35 insertions(+), 14 deletions(-) diff --git a/data/lotto/pobierz.php b/data/lotto/pobierz.php index 1536197..3130d07 100644 --- a/data/lotto/pobierz.php +++ b/data/lotto/pobierz.php @@ -7,12 +7,12 @@ // Lista gier. protected $gry = array( - // nazwa => array(ilość liczb, plus?) - 'lotto' => array(6, FALSE, 'dl'), - 'mini-lotto' => array(5, FALSE, 'el'), - 'kaskada' => array(12, FALSE, 'ka'), - 'multi-multi' => array(20, TRUE, 'mm'), - 'joker' => array(5, FALSE, 'jk') + // nazwa => array(ilość liczb, plus?, lottoplus?) + 'lotto' => array(6, FALSE, 6), + 'mini-lotto' => array(5, FALSE, 0), + 'kaskada' => array(12, FALSE, 0), + 'multi-multi' => array(20, TRUE, 0), + 'joker' => array(5, FALSE, 0) ); // Spróbuj pobrać stronę http://lotto.pl/wyniki-gier @@ -102,12 +102,12 @@ } $wyniki = array(); - $dane = $this->wytnij($this->strona, '<div class="start-wyniki_'.$gra.'">', - '<div class="start-wyniki_', 'Nie znaleziono na stronie wyników dla gry '.$gra); + $dane = $this->wytnij($this->strona, '<div class="start-wyniki_'.$gra, + '<div class="start-wyniki_', 'Nie znaleziono na stronie wyników dla gry '.$gra); $poz_dane = 0; for($l = 1; $l <= $liczba; $l++) { - $data = $this->wytnij($dane, '<div class="wyniki_data">', '</div>', + $data = $this->wytnij($dane, '<div class="wyniki_data', '</div>', 'Nie znaleziono '.$l.'-ej informacji o losowanu gry '.$gra, $poz_dane); $pozycja = 0; @@ -117,8 +117,8 @@ 'Nie znaleziono '.$l.'-ej godziny losowania gry '.$gra, $pozycja); try { - $liczby = $this->wytnij($dane, '<div class="glowna_wyniki_'.$gra.'">', "\t".'</div>', - 'Nie znaleziono na stronie '.$l.'-ch wyników dla gry '.$gra, $poz_dane); + $liczby = $this->wytnij($dane, '<div class="glowna_wyniki_'.$gra, "\t".'</div>', + 'Nie znaleziono na stronie '.$l.'-ch wyników dla gry '.$gra, $poz_dane); } catch(Exception $e) { break; @@ -129,13 +129,31 @@ $pozycja = 0; for($i = 0; $i < $this->gry[$gra][0]; $i++) { $wynik['liczby'][] = $this->wytnij($liczby, '<div class="wynik_'.$gra.'">', - '</div>', NULL, $pozycja); + '</div>', NULL, $pozycja); } // Szukamy plusa if($this->gry[$gra][1]) { $wynik['plus'] = $this->wytnij($dane, '<div class="wynik_'.$gra.'_plus">', - '</div>', NULL, $poz_dane); + '</div>', NULL, $poz_dane); + } + + // Szukamy lottoplusa + if($this->gry[$gra][2] > 0) { + try { + $liczby = $this->wytnij($dane, '<div class="glowna_wyniki_'.$gra.'plus">', "\t".'</div>', + 'Nie znaleziono na stronie '.$l.'-ch wyników dla gry '.$gra.'plus', $poz_dane); + } + catch(Exception $e) { + continue; + } + + $pozycja = 0; + $wynik['plus'] = array(); + for($i = 0; $i < $this->gry[$gra][2]; $i++) { + $wynik['plus'][] = $this->wytnij($liczby, '<div class="wynik_'.$gra.'plus">', + '</div>', 'Nie znaleziono wyników losowania '.$gra.'plus', $pozycja); + } } $wyniki[] = $wynik; @@ -147,7 +165,7 @@ function pobierz() { foreach($this->gry as $gra => $data) { echo STAR.'Wyniki gry '.$gra.'...'; - if($gra == 'multimulti') { + if($gra == 'multi-multi') { $wyniki = $this->wyniki($gra, 2); $wynik = $wyniki[0]; $skrot = $data[2].substr($wynik['godzina'], 0, 2); @@ -197,6 +215,9 @@ if($data[1]) { $output['plus'] = $wynik['plus']; } + if(($data[2] > 0) && isset($wynik['plus'])) { + $output['plus'] = $wynik['plus']; + } file_put_contents('./last_'.$skrot.'.txt', $output['data']); file_put_contents('./'.$skrot.'.txt', serialize($output)); file_put_contents('./archiwum/'.$skrot.'_'.date('j.m.Y', strtotime($output['data'])).'.txt', serialize($output)); -- Gitblit v1.9.1