@@ 202-233 (lines=32) @@ | ||
199 | * @param Carbon $toDate |
|
200 | * @return Collection |
|
201 | */ |
|
202 | public function sov($siteID, Carbon $fromDate, Carbon $toDate): Collection |
|
203 | { |
|
204 | $start = 0; |
|
205 | $sovSites = collect(); |
|
206 | ||
207 | do { |
|
208 | $response = $this->performQuery('sites/sov', ['id' => $siteID, 'from_date' => $fromDate->toDateString(), 'to_date' => $toDate->toDateString(), 'start' => $start, 'results' => 5000]); |
|
209 | $start += 5000; |
|
210 | $sovSites = $sovSites->merge($response['ShareOfVoice']); |
|
211 | ||
212 | if (! isset($response['nextpage'])) { |
|
213 | break; |
|
214 | } |
|
215 | } while ($response['resultsreturned'] < $response['totalresults']); |
|
216 | ||
217 | $sovSites->transform(function ($sov) { |
|
218 | $shareOfVoice = new StatShareOfVoice([ |
|
219 | 'date' => $sov['date'], |
|
220 | 'sites' => collect($sov['Site'])->transform(function ($site) { |
|
221 | return new StatShareOfVoiceSite([ |
|
222 | 'domain' => $site['Domain'], |
|
223 | 'share' => (float) $site['Share'], |
|
224 | 'pinned' => filter_var(Arr::get($site, 'Pinned'), FILTER_VALIDATE_BOOLEAN), |
|
225 | ]); |
|
226 | }), |
|
227 | ]); |
|
228 | ||
229 | return $shareOfVoice; |
|
230 | }); |
|
231 | ||
232 | return $sovSites; |
|
233 | } |
|
234 | ||
235 | /** |
|
236 | * @param $siteID |
@@ 86-117 (lines=32) @@ | ||
83 | * @param Carbon $toDate |
|
84 | * @return Collection |
|
85 | */ |
|
86 | public function sov($siteID, Carbon $fromDate, Carbon $toDate): Collection |
|
87 | { |
|
88 | $start = 0; |
|
89 | $sovSites = collect(); |
|
90 | ||
91 | do { |
|
92 | $response = $this->performQuery('tags/sov', ['id' => $siteID, 'from_date' => $fromDate->toDateString(), 'to_date' => $toDate->toDateString(), 'start' => $start, 'results' => 5000]); |
|
93 | $start += 5000; |
|
94 | $sovSites = $sovSites->merge($response['ShareOfVoice']); |
|
95 | ||
96 | if (! isset($response['nextpage'])) { |
|
97 | break; |
|
98 | } |
|
99 | } while ($response['resultsreturned'] < $response['totalresults']); |
|
100 | ||
101 | $sovSites->transform(function ($sov) { |
|
102 | $shareOfVoice = new StatShareOfVoice([ |
|
103 | 'date' => $sov['date'], |
|
104 | 'sites' => collect($sov['Site'])->transform(function ($site) { |
|
105 | return new StatShareOfVoiceSite([ |
|
106 | 'domain' => $site['Domain'], |
|
107 | 'share' => (float) $site['Share'], |
|
108 | 'pinned' => filter_var(Arr::get($site, 'Pinned'), FILTER_VALIDATE_BOOLEAN), |
|
109 | ]); |
|
110 | }), |
|
111 | ]); |
|
112 | ||
113 | return $shareOfVoice; |
|
114 | }); |
|
115 | ||
116 | return $sovSites; |
|
117 | } |
|
118 | ||
119 | /** |
|
120 | * @param $tagID |