/** * Get wiki info. * @param $wikiId - city_id * @return null|GWTSiteSyncStatus */ function getWikiInfo($wikiId) { $wikiId = strval($wikiId); $wiki = $this->wikiRepository->getById($wikiId); if ($wiki && $wiki->getUserId()) { $user = $this->userRepository->getById($wiki->getUserId()); return $this->webmasterToolsUtil->getInfo($wikiId, $user); } return null; }
<?php // example: SERVER_ID=5915 php maintenance/wikia/GoogleWebmasterToolsSync/list_unsync_wikis.php --conf /usr/wikia/docroot/wiki.factory/LocalSettings.php require_once __DIR__ . "/common.php"; GWTLogHelper::notice(__FILE__ . " script starts."); try { $wikiRepository = new GWTWikiRepository(); $wikis = $wikiRepository->allUnassigned(); foreach ($wikis as $i => $w) { echo $w->getWikiId() . " " . $w->getDb() . " page count = " . $w->getPageCount() . "\n"; } } catch (Exception $ex) { GWTLogHelper::error(__FILE__ . " script failed.", $ex); }
<?php $optionsWithArgs = array('i'); require_once __DIR__ . "/common.php"; GWTLogHelper::notice(__FILE__ . " script starts."); try { if (!isset($options['i'])) { echo "Specify wikiid (-i)"; } $wikiRepository = new GWTWikiRepository(); $user = $wikiRepository->create($options['i']); var_dump($user); } catch (Exception $ex) { GWTLogHelper::error(__FILE__ . " script failed.", $ex); }
<?php $optionsWithArgs = array('u', 'w'); require_once __DIR__ . "/common.php"; GWTLogHelper::notice(__FILE__ . " script starts."); try { if (!isset($options['u']) || !isset($options['w'])) { GWTLogHelper::error("Specify user (-u) and wikiId (-p)"); die(1); } $userRepository = new GWTUserRepository(); $wikiRepository = new GWTWikiRepository(); $service = new GWTService($userRepository, $wikiRepository); $u = $userRepository->getByEmail($options['u']); $w = $wikiRepository->getById($options['w']); if ($u == null && $w == null) { GWTLogHelper::error("no user or no wiki."); die(1); } $service->uploadWikiAsUser($w, $u); } catch (Exception $ex) { GWTLogHelper::error(__FILE__ . " script failed.", $ex); }
<?php // example: SERVER_ID=5915 php maintenance/wikia/GoogleWebmasterToolsSync/initial_sync.php --conf /usr/wikia/docroot/wiki.factory/LocalSettings.php global $IP; require_once __DIR__ . "/common.php"; GWTLogHelper::notice(__FILE__ . " script starts."); $minCountOfPagesToSync = 100; try { 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++; } }