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 |   51 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 36 insertions(+), 15 deletions(-)

diff --git a/data/lotto/pobierz.php b/data/lotto/pobierz.php
index 2dc91d0..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));
@@ -211,4 +232,4 @@
 echo OK;
 
 $lotto->pobierz();
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1