1 | <?php
|
---|
2 |
|
---|
3 | class MeetSourceTanecniSkola extends MeetSource
|
---|
4 | {
|
---|
5 | function Import()
|
---|
6 | {
|
---|
7 | $Output = parent::Import();
|
---|
8 | $HeightRange = array(
|
---|
9 | '< 120 cm' => 120,
|
---|
10 | '120 cm - 130 cm' => 125,
|
---|
11 | '125 cm - 135 cm' => 130,
|
---|
12 | '130 cm - 140 cm' => 135,
|
---|
13 | '135 cm - 145 cm' => 140,
|
---|
14 | '140 cm - 150 cm' => 145,
|
---|
15 | '145 cm - 155 cm' => 150,
|
---|
16 | '150 cm - 160 cm' => 155,
|
---|
17 | '155 cm - 165 cm' => 160,
|
---|
18 | '160 cm - 170 cm' => 165,
|
---|
19 | '165 cm - 175 cm' => 170,
|
---|
20 | '170 cm - 180 cm' => 175,
|
---|
21 | '175 cm - 185 cm' => 180,
|
---|
22 | '180 cm - 190 cm' => 185,
|
---|
23 | '185 cm - 195 cm' => 190,
|
---|
24 | '190 cm - 200 cm' => 195,
|
---|
25 | '195 cm - 205 cm' => 200,
|
---|
26 | '200 cm <' => 205,
|
---|
27 | );
|
---|
28 | $Content = file_get_contents($this->URL);
|
---|
29 |
|
---|
30 | $BlockStart = '<div><!--[if IE]><input type=IEbug disabled style="display:none"><![endif]--></div>';
|
---|
31 | $BlockEnd = '</article>';
|
---|
32 | $Content = GetTextBetween($Content, $BlockStart, $BlockEnd);
|
---|
33 | if ($Content == '')
|
---|
34 | {
|
---|
35 | $Output .= 'Main block not isolated.</br>';
|
---|
36 | return $Output;
|
---|
37 | }
|
---|
38 |
|
---|
39 | $ItemStart = '<div>';
|
---|
40 | $ItemEnd = '</div>';
|
---|
41 | $PreviousTime = null;
|
---|
42 | while (strpos($Content, $ItemStart) !== false)
|
---|
43 | {
|
---|
44 | $Item = GetTextBetween($Content, $ItemStart, $ItemEnd);
|
---|
45 | if ($Item != '')
|
---|
46 | {
|
---|
47 | $MeetItem = new MeetItem();
|
---|
48 | $MeetItem->Time = HumanDateToTime(trim(GetTextBetween($Item, '<h3>', '</h3>')));
|
---|
49 | if ($MeetItem->Time != null)
|
---|
50 | {
|
---|
51 | $PreviousTime = $MeetItem->Time;
|
---|
52 | } else $MeetItem->Time = $PreviousTime;
|
---|
53 |
|
---|
54 | $Part = GetTextBetween($Item, '</strong>', '<strong>');
|
---|
55 | $Part = explode(',', $Part);
|
---|
56 | if (count($Part) > 0) $MeetItem->Name = trim($Part[0]);
|
---|
57 | if (count($Part) > 1) $MeetItem->Height = trim($Part[1]);
|
---|
58 | if (strpos($MeetItem->Height, '(') !== false)
|
---|
59 | {
|
---|
60 | $MeetItem->Age = substr($MeetItem->Height, strpos($MeetItem->Height, '(') + 1);
|
---|
61 | $MeetItem->Age = substr($MeetItem->Age, 0, strpos($MeetItem->Age, ')'));
|
---|
62 | $MeetItem->Age = trim(str_replace('let', '', $MeetItem->Age));
|
---|
63 | $MeetItem->Height = trim(substr($MeetItem->Height, 0, strpos($MeetItem->Height, '(')));
|
---|
64 | } else $MeetItem->Age = '';
|
---|
65 | while (strpos($MeetItem->Height, ' ') !== false)
|
---|
66 | {
|
---|
67 | $MeetItem->Height = str_replace(' ', ' ', $MeetItem->Height);
|
---|
68 | }
|
---|
69 | if (array_key_exists($MeetItem->Height, $HeightRange))
|
---|
70 | $MeetItem->Height = $HeightRange[$MeetItem->Height];
|
---|
71 | $MeetItem->Email = trim(GetTextBetween($Item, '">', '</a>'));
|
---|
72 | $MeetItem->Phone = trim(GetTextBetween($Item, 'tel.:', '<br />'));
|
---|
73 | $Gender = trim(GetTextBetween($Item, '</strong>', '<strong>'));
|
---|
74 | if ($Gender == 'partnera,') $MeetItem->Gender = Gender::Female;
|
---|
75 | else if ($Gender == 'partnerku,') $MeetItem->Gender = Gender::Male;
|
---|
76 | else $MeetItem->Gender = Gender::Undefined;
|
---|
77 | $MeetItem->Message = trim(GetTextBetween($Item, '<p class="message">', '</p>'));
|
---|
78 | $MeetItem->Weight = GetWeightFromText($MeetItem->Message);
|
---|
79 | // Update age only if it is not set already
|
---|
80 | if ($MeetItem->Age == '')
|
---|
81 | {
|
---|
82 | $MessageAge = GetAgeFromText($MeetItem->Message);
|
---|
83 | if ($MessageAge != '') $MeetItem->Age = $MessageAge;
|
---|
84 | }
|
---|
85 | // Update height from message text even if height is already set
|
---|
86 | // because it can be more precise
|
---|
87 | $MessageHeight = GetHeightFromText($MeetItem->Message);
|
---|
88 | if ($MessageHeight != '') $MeetItem->Height = $MessageHeight;
|
---|
89 | $MeetItem->Location = 'Praha';
|
---|
90 | $MeetItem->Database = $this->Database;
|
---|
91 | $MeetItem->Source = $this->Id;
|
---|
92 | $this->MeetItems[] = $MeetItem;
|
---|
93 | }
|
---|
94 | }
|
---|
95 | return $Output;
|
---|
96 | }
|
---|
97 | }
|
---|
98 |
|
---|