Exemplo n.º 1
0
 /**
  * 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);
 }
Exemplo n.º 2
0
    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);
}