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