コード例 #1
0
ファイル: GWTService.php プロジェクト: Tjorriemorrie/app
 /**
  * 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;
 }
コード例 #2
0
<?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);
}
コード例 #3
0
ファイル: add_wiki.php プロジェクト: Tjorriemorrie/app
<?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);
}
コード例 #4
0
ファイル: upload_sitemap.php プロジェクト: Tjorriemorrie/app
<?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);
}
コード例 #5
0
ファイル: initial_sync.php プロジェクト: Tjorriemorrie/app
<?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++;
                }
            }