@@ -37,10 +37,10 @@ discard block |
||
37 | 37 | $urlComponents = parse_url($url); |
38 | 38 | $query = parse_query($urlComponents['query']); |
39 | 39 | $appId = $query[GPlayApps::REQ_PARAM_APP_ID]; |
40 | - $url = $urlComponents['scheme'] . '://' |
|
40 | + $url = $urlComponents['scheme'].'://' |
|
41 | 41 | . $urlComponents['host'] |
42 | 42 | . $urlComponents['path'] |
43 | - . '?' . http_build_query([GPlayApps::REQ_PARAM_APP_ID => $appId]); |
|
43 | + . '?'.http_build_query([GPlayApps::REQ_PARAM_APP_ID => $appId]); |
|
44 | 44 | $locale = $query[GPlayApps::REQ_PARAM_LOCALE] ?? GPlayApps::DEFAULT_LOCALE; |
45 | 45 | |
46 | 46 | $scriptData = ScraperUtil::extractScriptData($response->getBody()->getContents()); |
@@ -82,7 +82,7 @@ discard block |
||
82 | 82 | $descriptionHTML = $scriptDataInfo[0][10][0][1]; |
83 | 83 | $description = ScraperUtil::html2text($descriptionHTML); |
84 | 84 | |
85 | - $developerPage = GPlayApps::GOOGLE_PLAY_URL . $scriptDataInfo[0][12][5][5][4][2]; |
|
85 | + $developerPage = GPlayApps::GOOGLE_PLAY_URL.$scriptDataInfo[0][12][5][5][4][2]; |
|
86 | 86 | $developerId = parse_query(parse_url($developerPage, PHP_URL_QUERY))['id']; |
87 | 87 | $developerName = $scriptDataInfo[0][12][5][1]; |
88 | 88 | $developerEmail = $scriptDataInfo[0][12][5][2][0]; |
@@ -98,9 +98,9 @@ discard block |
||
98 | 98 | ScraperUtil::html2text($scriptDataInfo[0][10][1][1]); |
99 | 99 | |
100 | 100 | $installs = $scriptDataInfo[0][12][9][2] ?? 0; |
101 | - $score = (float)($scriptDataRating[0][6][0][1] ?? 0); |
|
102 | - $numberVoters = (int)($scriptDataRating[0][6][2][1] ?? 0); |
|
103 | - $reviewsCount = (int)($scriptDataRating[0][6][3][1] ?? 0); |
|
101 | + $score = (float) ($scriptDataRating[0][6][0][1] ?? 0); |
|
102 | + $numberVoters = (int) ($scriptDataRating[0][6][2][1] ?? 0); |
|
103 | + $reviewsCount = (int) ($scriptDataRating[0][6][3][1] ?? 0); |
|
104 | 104 | $histogram = $scriptDataRating[0][6][1] ?? null; |
105 | 105 | |
106 | 106 | $histogramRating = new HistogramRating( |
@@ -112,12 +112,11 @@ discard block |
||
112 | 112 | ); |
113 | 113 | |
114 | 114 | $price = isset($scriptDataPrice[0][2][0][0][0][1][0][0]) ? |
115 | - (float)($scriptDataPrice[0][2][0][0][0][1][0][0] / 1000000) : |
|
116 | - 0; |
|
115 | + (float) ($scriptDataPrice[0][2][0][0][0][1][0][0] / 1000000) : 0; |
|
117 | 116 | $currency = $scriptDataPrice[0][2][0][0][0][1][0][1]; |
118 | 117 | $priceText = $scriptDataPrice[0][2][0][0][0][1][0][2] ?: 'Free'; |
119 | 118 | $offersIAPCost = $scriptDataInfo[0][12][12][0] ?? null; |
120 | - $adSupported = (bool)$scriptDataInfo[0][12][14][0]; |
|
119 | + $adSupported = (bool) $scriptDataInfo[0][12][14][0]; |
|
121 | 120 | |
122 | 121 | [$size, $appVersion, $androidVersion] = $scriptDataVersion; |
123 | 122 | if (LocaleHelper::isDependOnDevice($locale, $size)) { |
@@ -143,8 +142,8 @@ discard block |
||
143 | 142 | $scriptDataInfo[0][12][13][1][0] !== null && |
144 | 143 | $scriptDataInfo[0][12][13][1][2] !== null |
145 | 144 | ) { |
146 | - $familyGenreId = (string)$scriptDataInfo[0][12][13][1][2]; |
|
147 | - $familyGenreName = (string)$scriptDataInfo[0][12][13][1][0]; |
|
145 | + $familyGenreId = (string) $scriptDataInfo[0][12][13][1][2]; |
|
146 | + $familyGenreName = (string) $scriptDataInfo[0][12][13][1][0]; |
|
148 | 147 | } |
149 | 148 | |
150 | 149 | $icon = empty($scriptDataInfo[0][12][1][3][2]) ? |
@@ -155,7 +154,7 @@ discard block |
||
155 | 154 | null : |
156 | 155 | new GoogleImage($scriptDataInfo[0][12][2][3][2]); |
157 | 156 | |
158 | - $screenshots = !empty($scriptDataInfo[0][12][0]) ? array_map(static function (array $v) { |
|
157 | + $screenshots = !empty($scriptDataInfo[0][12][0]) ? array_map(static function(array $v) { |
|
159 | 158 | return new GoogleImage($v[3][2]); |
160 | 159 | }, $scriptDataInfo[0][12][0]) : []; |
161 | 160 | |
@@ -166,8 +165,8 @@ discard block |
||
166 | 165 | $scriptDataInfo[0][12][3][0][3][2] !== null && |
167 | 166 | $scriptDataInfo[0][12][3][1][3][2] !== null |
168 | 167 | ) { |
169 | - $videoThumb = (string)$scriptDataInfo[0][12][3][1][3][2]; |
|
170 | - $videoUrl = (string)$scriptDataInfo[0][12][3][0][3][2]; |
|
168 | + $videoThumb = (string) $scriptDataInfo[0][12][3][1][3][2]; |
|
169 | + $videoUrl = (string) $scriptDataInfo[0][12][3][0][3][2]; |
|
171 | 170 | } |
172 | 171 | |
173 | 172 | $contentRating = $scriptDataInfo[0][12][4][0]; |
@@ -177,7 +176,7 @@ discard block |
||
177 | 176 | } |
178 | 177 | try { |
179 | 178 | $updated = !empty($scriptDataInfo[0][12][8][0]) ? |
180 | - new \DateTimeImmutable('@' . $scriptDataInfo[0][12][8][0]) |
|
179 | + new \DateTimeImmutable('@'.$scriptDataInfo[0][12][8][0]) |
|
181 | 180 | : null; |
182 | 181 | } catch (\Exception $e) { |
183 | 182 | $updated = null; |
@@ -224,13 +223,11 @@ discard block |
||
224 | 223 | )) |
225 | 224 | ->setCategoryFamily( |
226 | 225 | $familyGenreId !== null && $familyGenreName !== null ? |
227 | - new Category($familyGenreId, $familyGenreName) : |
|
228 | - null |
|
226 | + new Category($familyGenreId, $familyGenreName) : null |
|
229 | 227 | ) |
230 | 228 | ->setVideo( |
231 | 229 | $videoThumb !== null && $videoUrl !== null ? |
232 | - new Video($videoThumb, $videoUrl) : |
|
233 | - null |
|
230 | + new Video($videoThumb, $videoUrl) : null |
|
234 | 231 | ) |
235 | 232 | ->setRecentChanges($recentChanges) |
236 | 233 | ->setEditorsChoice($editorsChoice) |
@@ -277,26 +274,26 @@ discard block |
||
277 | 274 | for ($i = 0; $i < $count; $i++) { |
278 | 275 | $reviewData = $scriptDataReviews[0][$i]; |
279 | 276 | $reviewId = $reviewData[0]; |
280 | - $reviewUrl = $appUrl . '&reviewId=' . urlencode($reviewId); |
|
277 | + $reviewUrl = $appUrl.'&reviewId='.urlencode($reviewId); |
|
281 | 278 | $userName = $reviewData[1][0]; |
282 | 279 | $avatar = new GoogleImage($reviewData[1][1][3][2]); |
283 | 280 | $date = null; |
284 | 281 | if (isset($reviewData[5][0])) { |
285 | 282 | try { |
286 | - $date = new \DateTimeImmutable('@' . $reviewData[5][0]); |
|
283 | + $date = new \DateTimeImmutable('@'.$reviewData[5][0]); |
|
287 | 284 | } catch (\Exception $e) { |
288 | 285 | $date = null; |
289 | 286 | } |
290 | 287 | } |
291 | 288 | $score = $reviewData[2] ?? 0; |
292 | - $text = (string)($reviewData[4] ?? ''); |
|
289 | + $text = (string) ($reviewData[4] ?? ''); |
|
293 | 290 | $likeCount = $reviewData[6]; |
294 | 291 | |
295 | 292 | $reply = null; |
296 | 293 | if (isset($reviewData[7][1])) { |
297 | 294 | $replyText = $reviewData[7][1]; |
298 | 295 | try { |
299 | - $replyDate = new \DateTimeImmutable('@' . $reviewData[7][2][0]); |
|
296 | + $replyDate = new \DateTimeImmutable('@'.$reviewData[7][2][0]); |
|
300 | 297 | $reply = new ReplyReview( |
301 | 298 | $replyDate, |
302 | 299 | $replyText |
@@ -29,7 +29,7 @@ discard block |
||
29 | 29 | |
30 | 30 | $doc = new \DOMDocument(); |
31 | 31 | $internalErrors = libxml_use_internal_errors(true); |
32 | - if (!$doc->loadHTML('<?xml encoding="utf-8" ?>' . $html)) { |
|
32 | + if (!$doc->loadHTML('<?xml encoding="utf-8" ?>'.$html)) { |
|
33 | 33 | throw new \RuntimeException('error load html'); |
34 | 34 | } |
35 | 35 | libxml_use_internal_errors($internalErrors); |
@@ -58,7 +58,7 @@ discard block |
||
58 | 58 | if ($reviewUrlNode === null) { |
59 | 59 | continue; |
60 | 60 | } |
61 | - $reviewUrl = GPlayApps::GOOGLE_PLAY_URL . $reviewUrlNode->item(0)->textContent; |
|
61 | + $reviewUrl = GPlayApps::GOOGLE_PLAY_URL.$reviewUrlNode->item(0)->textContent; |
|
62 | 62 | } |
63 | 63 | // user name |
64 | 64 | { |
@@ -98,7 +98,7 @@ discard block |
||
98 | 98 | if ($ratingStyleAttr !== null) { |
99 | 99 | $ratingStyle = $ratingStyleAttr->textContent; |
100 | 100 | if (preg_match('/([\d]+)%/', $ratingStyle, $match)) { |
101 | - $score = (int)($match[1] * 0.05); // percent * 5 star |
|
101 | + $score = (int) ($match[1] * 0.05); // percent * 5 star |
|
102 | 102 | } |
103 | 103 | } |
104 | 104 | } |
@@ -71,13 +71,13 @@ |
||
71 | 71 | 'soc-platform' => 1, |
72 | 72 | 'soc-device' => 1, |
73 | 73 | ]; |
74 | - $playStoreUiUrl = GPlayApps::GOOGLE_PLAY_URL . '/_/PlayStoreUi/data/batchexecute?' . http_build_query($params); |
|
74 | + $playStoreUiUrl = GPlayApps::GOOGLE_PLAY_URL.'/_/PlayStoreUi/data/batchexecute?'.http_build_query($params); |
|
75 | 75 | |
76 | 76 | $savedApps = [$apps]; |
77 | 77 | while ($countApps < $this->limit && $scraper->hasNextToken()) { |
78 | 78 | $limit = min(100, $this->limit - $countApps); |
79 | 79 | $body = [ |
80 | - 'f.req' => '[[["' . self::RPC_ID . '","[[null,[[10,[10,' . $limit . ']],true,null,[1]],null,\\"' . $scraper->getToken() . '\\"]]",null,"generic"]]]', |
|
80 | + 'f.req' => '[[["'.self::RPC_ID.'","[[null,[[10,[10,'.$limit.']],true,null,[1]],null,\\"'.$scraper->getToken().'\\"]]",null,"generic"]]]', |
|
81 | 81 | ]; |
82 | 82 | |
83 | 83 | /** |
@@ -40,11 +40,11 @@ |
||
40 | 40 | if ($developerAppsUrl === null) { |
41 | 41 | return []; |
42 | 42 | } |
43 | - $developerAppsUrl = GPlayApps::GOOGLE_PLAY_URL . $developerAppsUrl; |
|
43 | + $developerAppsUrl = GPlayApps::GOOGLE_PLAY_URL.$developerAppsUrl; |
|
44 | 44 | |
45 | 45 | $developerAppsUrl .= |
46 | - '&' . GPlayApps::REQ_PARAM_LOCALE . '=' . urlencode($this->locale) . |
|
47 | - '&' . GPlayApps::REQ_PARAM_COUNTRY . '=' . urlencode($this->country); |
|
46 | + '&'.GPlayApps::REQ_PARAM_LOCALE.'='.urlencode($this->locale). |
|
47 | + '&'.GPlayApps::REQ_PARAM_COUNTRY.'='.urlencode($this->country); |
|
48 | 48 | |
49 | 49 | $requestSimilar = new Request('GET', $developerAppsUrl); |
50 | 50 | try { |
@@ -26,7 +26,7 @@ discard block |
||
26 | 26 | { |
27 | 27 | $doc = new \DOMDocument(); |
28 | 28 | $internalErrors = libxml_use_internal_errors(true); |
29 | - if (!$doc->loadHTML('<?xml encoding="utf-8" ?>' . $response->getBody()->getContents())) { |
|
29 | + if (!$doc->loadHTML('<?xml encoding="utf-8" ?>'.$response->getBody()->getContents())) { |
|
30 | 30 | throw new \RuntimeException('error load html'); |
31 | 31 | } |
32 | 32 | libxml_use_internal_errors($internalErrors); |
@@ -49,7 +49,7 @@ discard block |
||
49 | 49 | throw (new GooglePlayException('Error parse app list')) |
50 | 50 | ->setUrl($request->getUri()->__toString()); |
51 | 51 | } |
52 | - $url = GPlayApps::GOOGLE_PLAY_URL . $nodeTitle->attributes->getNamedItem('href')->textContent; |
|
52 | + $url = GPlayApps::GOOGLE_PLAY_URL.$nodeTitle->attributes->getNamedItem('href')->textContent; |
|
53 | 53 | $name = trim($nodeTitle->attributes->getNamedItem('title')->textContent); |
54 | 54 | } |
55 | 55 | |
@@ -68,7 +68,7 @@ discard block |
||
68 | 68 | ->setUrl($request->getUri()->__toString()); |
69 | 69 | } |
70 | 70 | $developerName = trim($developerNode->textContent); |
71 | - $developerUrl = GPlayApps::GOOGLE_PLAY_URL . $developerNode->attributes->getNamedItem('href')->textContent; |
|
71 | + $developerUrl = GPlayApps::GOOGLE_PLAY_URL.$developerNode->attributes->getNamedItem('href')->textContent; |
|
72 | 72 | $developerId = parse_query(parse_url($developerUrl, PHP_URL_QUERY))[GPlayApps::REQ_PARAM_APP_ID]; |
73 | 73 | } |
74 | 74 | |
@@ -78,7 +78,7 @@ discard block |
||
78 | 78 | throw (new GooglePlayException('Error parse app list icon node')) |
79 | 79 | ->setUrl($request->getUri()->__toString()); |
80 | 80 | } |
81 | - $icon = new GoogleImage('https:' . $iconNode->textContent); |
|
81 | + $icon = new GoogleImage('https:'.$iconNode->textContent); |
|
82 | 82 | $icon->reset(); |
83 | 83 | } |
84 | 84 |
@@ -37,8 +37,8 @@ |
||
37 | 37 | ->setUrl($request->getUri()->__toString()); |
38 | 38 | } |
39 | 39 | |
40 | - $parseCategories = static function (array $items) use (&$parseCategories) : array { |
|
41 | - return array_reduce($items, static function ($results, $item) use (&$parseCategories) { |
|
40 | + $parseCategories = static function(array $items) use (&$parseCategories) : array { |
|
41 | + return array_reduce($items, static function($results, $item) use (&$parseCategories) { |
|
42 | 42 | if (is_array($item)) { |
43 | 43 | if ( |
44 | 44 | count($item) === 6 && |
@@ -35,10 +35,10 @@ |
||
35 | 35 | foreach ($json[0][0][0] as $data) { |
36 | 36 | $name = $data[2]; |
37 | 37 | $appId = $data[12][0]; |
38 | - $url = GPlayApps::GOOGLE_PLAY_URL . $data[9][4][2]; |
|
38 | + $url = GPlayApps::GOOGLE_PLAY_URL.$data[9][4][2]; |
|
39 | 39 | $icon = new GoogleImage($data[1][1][0][3][2]); |
40 | 40 | $developerName = $data[4][0][0][0]; |
41 | - $developerPage = GPlayApps::GOOGLE_PLAY_URL . $data[4][0][0][1][4][2]; |
|
41 | + $developerPage = GPlayApps::GOOGLE_PLAY_URL.$data[4][0][0][1][4][2]; |
|
42 | 42 | $developerId = parse_query(parse_url($developerPage, PHP_URL_QUERY))['id']; |
43 | 43 | $price = $data[7][0][3][2][1][0][2]; |
44 | 44 | $summary = $data[4][1][1][1][1]; |
@@ -21,8 +21,8 @@ |
||
21 | 21 | $json = \GuzzleHttp\json_decode($contents, true); |
22 | 22 | $data = $json[0][2][0][65]['42656262'][1] ?? []; |
23 | 23 | |
24 | - $parsePermissions = static function (array $items) use (&$parsePermissions) { |
|
25 | - return array_reduce($items, static function ($results, $item) use (&$parsePermissions) { |
|
24 | + $parsePermissions = static function(array $items) use (&$parsePermissions) { |
|
25 | + return array_reduce($items, static function($results, $item) use (&$parsePermissions) { |
|
26 | 26 | if (is_array($item)) { |
27 | 27 | if (count($item) === 3 && is_string($item[0]) && is_string($item[1])) { |
28 | 28 | $results[] = new Permission($item[0], $item[1]); |
@@ -27,10 +27,10 @@ |
||
27 | 27 | $urlComponents = parse_url($url); |
28 | 28 | $query = parse_query($urlComponents['query']); |
29 | 29 | $developerId = $query[GPlayApps::REQ_PARAM_APP_ID]; |
30 | - $url = $urlComponents['scheme'] . '://' |
|
30 | + $url = $urlComponents['scheme'].'://' |
|
31 | 31 | . $urlComponents['host'] |
32 | 32 | . $urlComponents['path'] |
33 | - . '?' . http_build_query([GPlayApps::REQ_PARAM_APP_ID => $developerId]); |
|
33 | + . '?'.http_build_query([GPlayApps::REQ_PARAM_APP_ID => $developerId]); |
|
34 | 34 | |
35 | 35 | $scriptData = ScraperUtil::extractScriptData($response->getBody()->getContents()); |
36 | 36 |