/** * @param array $logInfo * @return bool|mixed */ private function processLogItem($logInfo) { $revision = new WikiRevision($this->config); if (isset($logInfo['id'])) { $revision->setID($logInfo['id']); } $revision->setType($logInfo['type']); $revision->setAction($logInfo['action']); if (isset($logInfo['timestamp'])) { $revision->setTimestamp($logInfo['timestamp']); } if (isset($logInfo['params'])) { $revision->setParams($logInfo['params']); } if (isset($logInfo['logtitle'])) { // @todo Using Title for non-local titles is a recipe for disaster. // We should use ForeignTitle here instead. $revision->setTitle(Title::newFromText($logInfo['logtitle'])); } $revision->setNoUpdates($this->mNoUpdates); if (isset($logInfo['comment'])) { $revision->setComment($logInfo['comment']); } if (isset($logInfo['contributor']['ip'])) { $revision->setUserIP($logInfo['contributor']['ip']); } if (!isset($logInfo['contributor']['username'])) { $revision->setUsername('Unknown user'); } else { $revision->setUserName($logInfo['contributor']['username']); } return $this->logItemCallback($revision); }
/** * @param array $pageInfo * @param array $uploadInfo * @return mixed */ private function processUpload($pageInfo, $uploadInfo) { $revision = new WikiRevision($this->config); $text = isset($uploadInfo['text']) ? $uploadInfo['text'] : ''; $revision->setTitle($pageInfo['_title']); $revision->setID($pageInfo['id']); $revision->setTimestamp($uploadInfo['timestamp']); $revision->setText($text); $revision->setFilename($uploadInfo['filename']); if (isset($uploadInfo['archivename'])) { $revision->setArchiveName($uploadInfo['archivename']); } $revision->setSrc($uploadInfo['src']); if (isset($uploadInfo['fileSrc'])) { $revision->setFileSrc($uploadInfo['fileSrc'], !empty($uploadInfo['isTempSrc'])); } if (isset($uploadInfo['sha1base36'])) { $revision->setSha1Base36($uploadInfo['sha1base36']); } $revision->setSize(intval($uploadInfo['size'])); $revision->setComment($uploadInfo['comment']); if (isset($uploadInfo['contributor']['ip'])) { $revision->setUserIP($uploadInfo['contributor']['ip']); } if (isset($uploadInfo['contributor']['username'])) { $revision->setUsername($uploadInfo['contributor']['username']); } $revision->setNoUpdates($this->mNoUpdates); return call_user_func($this->mUploadCallback, $revision); }