mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-24 07:42:40 +01:00
47 lines
1.2 KiB
PHP
47 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
echo "Populating Legalpad Documents with ",
|
||
|
"titles, recentContributorPHIDs, and contributorCounts...\n";
|
||
|
$table = new LegalpadDocument();
|
||
|
$table->openTransaction();
|
||
|
|
||
|
foreach (new LiskMigrationIterator($table) as $document) {
|
||
|
$updated = false;
|
||
|
$id = $document->getID();
|
||
|
|
||
|
echo "Document {$id}: ";
|
||
|
if (!$document->getTitle()) {
|
||
|
$document_body = id(new LegalpadDocumentBody())
|
||
|
->loadOneWhere('phid = %s', $document->getDocumentBodyPHID());
|
||
|
$title = $document_body->getTitle();
|
||
|
$document->setTitle($title);
|
||
|
$updated = true;
|
||
|
echo "Added title: $title\n";
|
||
|
} else {
|
||
|
echo "-\n";
|
||
|
}
|
||
|
|
||
|
if (!$document->getContributorCount() ||
|
||
|
!$document->getRecentContributorPHIDs()) {
|
||
|
$updated = true;
|
||
|
$type = PhabricatorEdgeConfig::TYPE_OBJECT_HAS_CONTRIBUTOR;
|
||
|
$contributors = PhabricatorEdgeQuery::loadDestinationPHIDs(
|
||
|
$document->getPHID(),
|
||
|
$type);
|
||
|
$document->setRecentContributorPHIDs(array_slice($contributors, 0, 3));
|
||
|
echo "Added recent contributor phids.\n";
|
||
|
$document->setContributorCount(count($contributors));
|
||
|
echo "Added contributor count.\n";
|
||
|
}
|
||
|
|
||
|
if (!$updated) {
|
||
|
echo "-\n";
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
$document->save();
|
||
|
}
|
||
|
|
||
|
$table->saveTransaction();
|
||
|
echo "Done.\n";
|