2013-07-09 02:06:49 +02:00
|
|
|
<?php
|
|
|
|
|
2014-06-09 20:36:49 +02:00
|
|
|
echo 'Populating Legalpad Documents with ',
|
2013-07-09 02:06:49 +02:00
|
|
|
"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";
|