static function applyTitleChanges($titles, $summary)
 {
     global $wgUser;
     $dbw = wfGetDB(DB_MASTER);
     $errors = array();
     foreach ($titles as $pageid => $title) {
         $status = $title['status'];
         if ($status == 'delete') {
             TitleTests::dbRemoveTitleID($dbw, $pageid);
         } elseif ($status == 'change' || $status == 'new') {
             $titleObj = Title::newFromID($pageid);
             if ($titleObj && $titleObj->exists() && $titleObj->getNamespace() == NS_MAIN) {
                 TitleTests::dbSetCustomTitle($dbw, $titleObj, $title['tt_custom'], $title['tt_custom_note']);
             } else {
                 $errors[] = $pageid;
             }
         } else {
             // status == 'nochange'
         }
     }
     if ($errors) {
         $summary = "Warning: there were unexpected errors with page IDs: " . join(',', $errors) . "\n" . $summary;
     }
     if (!$summary) {
         $summary = 'No changes';
     }
     CustomTitleChangesLog::dbAddTitleChangeSummary($dbw, wfTimestampNow(), $wgUser->getID(), $summary);
     return $errors;
 }