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; }