/** * Listing the issues for current category. * * @param array $counts * @param string $platform * @param string $category * * @return array */ private function list_category_issues(array $counts, $platform, $category) { // When the issues have to be fetched. if (array_key_exists($category, $counts) && $counts[$category]['count'] > 0 && $counts[$category]['last_fetch'] <= strtotime('-12 hours')) { if ($issues = $this->service->fetch_category_issues(YMBESEO_GSC_Mapper::platform_to_api($platform), YMBESEO_GSC_Mapper::category_to_api($category))) { $this->issues = $issues; } // Be sure the total count is correct. $counts[$category]['count'] = count($this->issues); // Set last fetch. $counts[$category]['last_fetch'] = time(); } return $counts; }
/** * Sending request to mark issue as fixed * * @param string $url * @param string $platform * @param string $category * * @return bool */ public function mark_as_fixed($url, $platform, $category) { $response = $this->client->do_request('sites/' . urlencode($this->profile) . '/urlCrawlErrorsSamples/' . urlencode(ltrim($url, '/')) . '?category=' . YMBESEO_GSC_Mapper::category_to_api($category) . '&platform=' . YMBESEO_GSC_Mapper::platform_to_api($platform) . '', false, 'DELETE'); return $response->getResponseHttpCode() === 204; }