mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-30 02:32:42 +01:00
43 lines
1 KiB
PHP
43 lines
1 KiB
PHP
|
<?php
|
||
|
|
||
|
// See T12488. Some events survived "20161004.cal.01.noepoch.php" without
|
||
|
// having "utcInstanceEpoch" computed, which breaks ICS export. This appears
|
||
|
// to be the result of some bug which has been fixed in the meantime, so just
|
||
|
// redo this part of the migration.
|
||
|
|
||
|
$table = new PhabricatorCalendarEvent();
|
||
|
$conn = $table->establishConnection('w');
|
||
|
$table_name = $table->getTableName();
|
||
|
|
||
|
$viewer = PhabricatorUser::getOmnipotentUser();
|
||
|
$all_events = id(new PhabricatorCalendarEventQuery())
|
||
|
->setViewer($viewer)
|
||
|
->execute();
|
||
|
foreach ($all_events as $event) {
|
||
|
$id = $event->getID();
|
||
|
|
||
|
if (!$event->getInstanceOfEventPHID()) {
|
||
|
// Not a child event, so no instance epoch.
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
if ($event->getUTCInstanceEpoch()) {
|
||
|
// Already has an instance epoch.
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
$event->updateUTCEpochs();
|
||
|
} catch (Exception $ex) {
|
||
|
phlog($ex);
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
queryfx(
|
||
|
$conn,
|
||
|
'UPDATE %T SET utcInstanceEpoch = %nd WHERE id = %d',
|
||
|
$table_name,
|
||
|
$event->getUTCInstanceEpoch(),
|
||
|
$id);
|
||
|
}
|