/** * Sends page to webmaster toolkit. Will update wiki and user * @param GWTWiki $wiki * @param GWTUser $user */ function uploadWikiAsUser(GWTWiki $wiki, GWTUser $user) { $this->webmasterToolsUtil->upload($wiki->getWikiId(), $user); $user->setCount($user->getCount() + 1); $this->userRepository->update($user); $wiki->setUserId($user->getId()); $wiki->setUploadDate(date("Y-m-d")); $this->wikiRepository->updateWiki($wiki); }
global $wgExternalSharedDB, $wgDatamartDB; $wikiPageCountService = (new WikiPageCountServiceFactory())->get(); $wikiRepository = new GWTWikiRepository(); foreach (Iterators::group($wikiPageCountService->listPageCountsIterator(), 50) as $pageCountGroup) { $updated = 0; $created = 0; $same = 0; GWTLogHelper::debug("Group size: " . (int) count($pageCountGroup)); foreach ($pageCountGroup as $pageCountModel) { /** @var WikiPageCountModel $pageCountModel */ $page = $wikiRepository->getById($pageCountModel->getWikiId()); if ($page == null) { $wikiRepository->insert($pageCountModel->getWikiId(), null, null, $pageCountModel->getPageCount()); $created++; } else { if ($page->getPageCount() != $pageCountModel->getPageCount()) { $page->setPageCount($pageCountModel->getPageCount()); $wikiRepository->updateWiki($page); $updated++; } else { $same++; } } } GWTLogHelper::debug("Created: {$created}, Updated {$updated}, Same: {$same}"); sleep(1); } GWTLogHelper::notice(__FILE__ . " script ends."); } catch (Exception $ex) { GWTLogHelper::error(__FILE__ . " script failed.", $ex); }