From 4c7016fb3e2dd55de4389872ba5c6c65bbf5a582 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Tue, 27 Nov 2012 15:32:04 +0000
Subject: [PATCH] Poprawka parsowania strony z programem telewizyjnym.

---
 data/lotto/pobierz.php |   57 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 39 insertions(+), 18 deletions(-)

diff --git a/data/lotto/pobierz.php b/data/lotto/pobierz.php
index 2dc91d0..177c6c7 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?, skrót)
+		'lotto' => array(6, FALSE, 6, 'dl'),
+		'mini-lotto' => array(5, FALSE, 0, 'el'),
+		'kaskada' => array(12, FALSE, 0, 'ka'),
+		'multi-multi' => array(20, TRUE, 0, 'mm'),
+		'joker' => array(5, FALSE, 0, 'jk')
 	);
 	
 	// 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,10 +165,10 @@
 	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);
+				$skrot = $data[3].substr($wynik['godzina'], 0, 2);
 				$last_data = @file_get_contents('./last_'.$skrot.'.txt');
 				if($last_data != $wynik['data']) {
 					$output = array();
@@ -167,7 +185,7 @@
 				}
 				
 				$wynik = $wyniki[1];
-				$skrot = $data[2].substr($wynik['godzina'], 0, 2);
+				$skrot = $data[3].substr($wynik['godzina'], 0, 2);
 				$last_data = @file_get_contents('./last_'.$skrot.'.txt');
 				if($last_data != $wynik['data']) {
 					$output = array();
@@ -186,7 +204,7 @@
 			else
 			{
 				$wynik = $this->wynik($gra);
-				$skrot = $data[2];
+				$skrot = $data[3];
 				$last_data = @file_get_contents('./last_'.$skrot.'.txt');
 				if($last_data != $wynik['data']) {
 					$output = array();
@@ -195,6 +213,9 @@
 						$output[$i+1] = $wynik['liczby'][$i];
 					}
 					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']);
@@ -211,4 +232,4 @@
 echo OK;
 
 $lotto->pobierz();
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1