-
Notifications
You must be signed in to change notification settings - Fork 0
/
provjeraDostupnosti.php
99 lines (87 loc) · 3.22 KB
/
provjeraDostupnosti.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
ini_set('allow_url_fopen', 1);
//hardcoded za sad
//$linkProizovada = "/hr/graficka-kartica-used-pci-e-gainward-geforce-gtx-970-phoenix-4gb-ddr5-dvi-hdmi-mdp-8100001048";
//nedostupno
//$linkNedostupno = "/hr/graficka-kartica-used-pci-e-gainward-geforce-gtx-960-phantom-glh-2gb-ddr5-dualdvi-hdmi-dp-810000861";
$nedostupno = FALSE;
$stranica = 'https://www.links.hr';
$lines = file($stranica . $linkProizovada);
/* for ($i = 0; $i < count($lines); $i++) {
echo "Linija: " . $i . "-->" . htmlentities($lines[$i]) . "<br/>";
} */
for ($index = 0; $index < count($lines); $index++) {
$polje = array();
if (strpos($lines[$index], 'class="label">Dostupnost')) {
$vrijednost = preg_match('/\>(.*?)\</', $lines[$index + 1], $match);
if ($match[1] === 'Nedostupno') {
$nedostupno = TRUE;
break;
}
}
if (strpos($lines[$index], 'class="warehouseInventory"')) {
for ($i = $index; $i < $index + 111; $i++) {
$polje[] = $lines[$i];
}
$obj = parsiranjeSkladista($polje);
break;
}
}
if (!$nedostupno) {
$dostupnosti = $obj;
require 'pronadjiNajblizeSkladiste.php';
$quickReplies = array();
switch ($najblizeIshodiste) {
case null:
$replyContent = 'Pojavio se neuspjeh kod pokušaja pronalaska obližnje poslovnice u kojoj je dostupan traženi artikl. Želite li ga naručiti dostavom?';
break;
case false:
$replyContent = 'Traženi artikl je dostupan u centralnom skladištu te ga je moguće samo dostaviti. Želite li ga naručiti dostavom?';
break;
default:
$replyContent = "$najblizeIshodiste Vam je najbliže mjesto s našom poslovnicom u kojoj je dostupan traženi artikl.";
//array_push($quickReplies, array('content_type'=>'text', 'title'=>'Pokupit ću tamo', 'payload' => "$linkProizovada $najblizeIshodiste"));
}
//array_push($quickReplies, array('content_type'=>'text', 'title'=>'Želim dostavu', 'payload' => "$linkProizovada dostava"));
//array_push($quickReplies, array('content_type'=>'text', 'title'=>'Odustajem od kupnje', 'payload' => ''));
}else{
$replyContent = 'Ispričavamo se, traženi artikl trenutno nije dostupan!';
}
function parsiranjeSkladista($polje) {
$naziv = '';
$dostupnost = '';
$n = FALSE;
$d = FALSE;
for ($i = 0; $i < count($polje); $i++) {
if (strpos($polje[$i], 'class="warehouse"')) {
$naziv = parsirajIme($polje[$i]);
if ($naziv) {
$n = TRUE;
}
else {
$n = FALSE;
}
}
else if ($n && strpos($polje[$i], 'class="circle active"')) {
$dostupnost = parsirajDostupnost($polje[$i]);
$d = TRUE;
$obj[] = (object) ['naziv' => $naziv, 'dostupnost' => $dostupnost];
$n = FALSE;
$d = FALSE;
}
}
return $obj;
}
function parsirajIme($linija) {
if (preg_match('/<a.*?>(.*?)<\/a>/', $linija, $match)) {
return $match[1];
}
else {
return FALSE;
}
}
function parsirajDostupnost($linija) {
preg_match('/td class="warehouse(.*?)"/', $linija, $match);
return $match[1];
}
?>