/**
  * Save or remove the custom page title
  */
 private static function savePageTitle($type, $pageid, $pageTitle)
 {
     $title = Title::newFromID($pageid);
     if (!$title) {
         return '';
     }
     $dbw = wfGetDB(DB_MASTER);
     if ('default' == $type) {
         TitleTests::dbRemoveTitle($dbw, $title);
     } elseif ('edited' == $type && $pageTitle) {
         TitleTests::dbSetCustomTitle($dbw, $title, $pageTitle);
     } else {
         return '';
     }
     $tt = TitleTests::newFromTitle($title);
     if ($tt) {
         return $tt->getTitle();
     } else {
         return '';
     }
 }
 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;
 }