X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fimport%2FWikiRevision.php;h=edb0c9af1c7523ea112e2f10802d89a0dad3968d;hb=949dc920ee61e838320186565cb6dc146a013b25;hp=edc3548abd38a72d28f31646f0dd81ba2b853a54;hpb=d7e0948462ccf43cad6e6bbe237eac8a25f43f1a;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/import/WikiRevision.php b/includes/import/WikiRevision.php index edc3548abd..edb0c9af1c 100644 --- a/includes/import/WikiRevision.php +++ b/includes/import/WikiRevision.php @@ -28,86 +28,165 @@ * Represents a revision, log entry or upload during the import process. * This class sticks closely to the structure of the XML dump. * + * @since 1.2 + * * @ingroup SpecialPage */ class WikiRevision { - /** @todo Unused? */ + + /** + * @since 1.17 + * @deprecated in 1.29. Unused. + * @note Introduced in 9b3128eb2b654761f21fd4ca1d5a1a4b796dc912, unused there, unused now. + */ public $importer = null; - /** @var Title */ + /** + * @since 1.2 + * @var Title + */ public $title = null; - /** @var int */ + /** + * @since 1.6.4 + * @var int + */ public $id = 0; - /** @var string */ + /** + * @since 1.2 + * @var string + */ public $timestamp = "20010115000000"; /** + * @since 1.2 * @var int - * @todo Can't find any uses. Public, because that's suspicious. Get clarity. */ + * @deprecated in 1.29. Unused. + * @note Introduced in 436a028086fb3f01c4605c5ad2964d56f9306aca, unused there, unused now. + */ public $user = 0; - /** @var string */ + /** + * @since 1.2 + * @var string + */ public $user_text = ""; - /** @var User */ + /** + * @since 1.27 + * @var User + */ public $userObj = null; - /** @var string */ + /** + * @since 1.21 + * @var string + */ public $model = null; - /** @var string */ + /** + * @since 1.21 + * @var string + */ public $format = null; - /** @var string */ + /** + * @since 1.2 + * @var string + */ public $text = ""; - /** @var int */ + /** + * @since 1.12.2 + * @var int + */ protected $size; - /** @var Content */ + /** + * @since 1.21 + * @var Content + */ public $content = null; - /** @var ContentHandler */ + /** + * @since 1.24 + * @var ContentHandler + */ protected $contentHandler = null; - /** @var string */ + /** + * @since 1.2.6 + * @var string + */ public $comment = ""; - /** @var bool */ + /** + * @since 1.5.7 + * @var bool + */ public $minor = false; - /** @var string */ + /** + * @since 1.12.2 + * @var string + */ public $type = ""; - /** @var string */ + /** + * @since 1.12.2 + * @var string + */ public $action = ""; - /** @var string */ + /** + * @since 1.12.2 + * @var string + */ public $params = ""; - /** @var string */ + /** + * @since 1.17 + * @var string + */ public $fileSrc = ''; - /** @var bool|string */ + /** + * @since 1.17 + * @var bool|string + */ public $sha1base36 = false; /** - * @var bool - * @todo Unused? + * @since 1.17 + * @var string */ - public $isTemp = false; - - /** @var string */ public $archiveName = ''; + /** + * @since 1.12.2 + */ protected $filename; - /** @var mixed */ + /** + * @since 1.12.2 + * @var mixed + */ protected $src; - /** @todo Unused? */ + /** + * @since 1.18 + * @var bool + * @todo Unused? + */ + public $isTemp = false; + + /** + * @since 1.18 + * @deprecated 1.29 use Wikirevision::isTempSrc() + * First written to in 43d5d3b682cc1733ad01a837d11af4a402d57e6a + * Actually introduced in 52cd34acf590e5be946b7885ffdc13a157c1c6cf + */ public $fileIsTemp; /** @var bool */ @@ -121,6 +200,7 @@ class WikiRevision { } /** + * @since 1.7 taking a Title object (string before) * @param Title $title * @throws MWException */ @@ -136,6 +216,7 @@ class WikiRevision { } /** + * @since 1.6.4 * @param int $id */ public function setID( $id ) { @@ -143,6 +224,7 @@ class WikiRevision { } /** + * @since 1.2 * @param string $ts */ public function setTimestamp( $ts ) { @@ -151,6 +233,7 @@ class WikiRevision { } /** + * @since 1.2 * @param string $user */ public function setUsername( $user ) { @@ -158,6 +241,7 @@ class WikiRevision { } /** + * @since 1.27 * @param User $user */ public function setUserObj( $user ) { @@ -165,6 +249,7 @@ class WikiRevision { } /** + * @since 1.2 * @param string $ip */ public function setUserIP( $ip ) { @@ -172,6 +257,7 @@ class WikiRevision { } /** + * @since 1.21 * @param string $model */ public function setModel( $model ) { @@ -179,6 +265,7 @@ class WikiRevision { } /** + * @since 1.21 * @param string $format */ public function setFormat( $format ) { @@ -186,6 +273,7 @@ class WikiRevision { } /** + * @since 1.2 * @param string $text */ public function setText( $text ) { @@ -193,6 +281,7 @@ class WikiRevision { } /** + * @since 1.2.6 * @param string $text */ public function setComment( $text ) { @@ -200,6 +289,7 @@ class WikiRevision { } /** + * @since 1.5.7 * @param bool $minor */ public function setMinor( $minor ) { @@ -207,6 +297,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @param mixed $src */ public function setSrc( $src ) { @@ -214,15 +305,18 @@ class WikiRevision { } /** + * @since 1.17 * @param string $src * @param bool $isTemp */ public function setFileSrc( $src, $isTemp ) { $this->fileSrc = $src; $this->fileIsTemp = $isTemp; + $this->isTemp = $isTemp; } /** + * @since 1.17 * @param string $sha1base36 */ public function setSha1Base36( $sha1base36 ) { @@ -230,6 +324,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @param string $filename */ public function setFilename( $filename ) { @@ -237,6 +332,7 @@ class WikiRevision { } /** + * @since 1.17 * @param string $archiveName */ public function setArchiveName( $archiveName ) { @@ -244,6 +340,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @param int $size */ public function setSize( $size ) { @@ -251,6 +348,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @param string $type */ public function setType( $type ) { @@ -258,6 +356,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @param string $action */ public function setAction( $action ) { @@ -265,6 +364,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @param array $params */ public function setParams( $params ) { @@ -272,6 +372,7 @@ class WikiRevision { } /** + * @since 1.18 * @param bool $noupdates */ public function setNoUpdates( $noupdates ) { @@ -279,6 +380,7 @@ class WikiRevision { } /** + * @since 1.2 * @return Title */ public function getTitle() { @@ -286,6 +388,7 @@ class WikiRevision { } /** + * @since 1.6.4 * @return int */ public function getID() { @@ -293,6 +396,7 @@ class WikiRevision { } /** + * @since 1.2 * @return string */ public function getTimestamp() { @@ -300,6 +404,7 @@ class WikiRevision { } /** + * @since 1.2 * @return string */ public function getUser() { @@ -307,6 +412,7 @@ class WikiRevision { } /** + * @since 1.27 * @return User */ public function getUserObj() { @@ -314,6 +420,7 @@ class WikiRevision { } /** + * @since 1.2 * @return string */ public function getText() { @@ -321,6 +428,7 @@ class WikiRevision { } /** + * @since 1.24 * @return ContentHandler */ public function getContentHandler() { @@ -332,6 +440,7 @@ class WikiRevision { } /** + * @since 1.21 * @return Content */ public function getContent() { @@ -344,6 +453,7 @@ class WikiRevision { } /** + * @since 1.21 * @return string */ public function getModel() { @@ -355,6 +465,7 @@ class WikiRevision { } /** + * @since 1.21 * @return string */ public function getFormat() { @@ -366,6 +477,7 @@ class WikiRevision { } /** + * @since 1.2.6 * @return string */ public function getComment() { @@ -373,6 +485,7 @@ class WikiRevision { } /** + * @since 1.5.7 * @return bool */ public function getMinor() { @@ -380,6 +493,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @return mixed */ public function getSrc() { @@ -387,6 +501,7 @@ class WikiRevision { } /** + * @since 1.17 * @return bool|string */ public function getSha1() { @@ -397,6 +512,7 @@ class WikiRevision { } /** + * @since 1.17 * @return string */ public function getFileSrc() { @@ -404,6 +520,7 @@ class WikiRevision { } /** + * @since 1.17 * @return bool */ public function isTempSrc() { @@ -411,6 +528,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @return mixed */ public function getFilename() { @@ -418,6 +536,7 @@ class WikiRevision { } /** + * @since 1.17 * @return string */ public function getArchiveName() { @@ -425,6 +544,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @return mixed */ public function getSize() { @@ -432,6 +552,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @return string */ public function getType() { @@ -439,6 +560,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @return string */ public function getAction() { @@ -446,6 +568,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @return string */ public function getParams() { @@ -453,6 +576,7 @@ class WikiRevision { } /** + * @since 1.4.1 * @return bool */ public function importOldRevision() { @@ -483,11 +607,12 @@ class WikiRevision { $pageId = $page->getId(); $created = false; + // Note: sha1 has been in XML dumps since 2012. If you have an + // older dump, the duplicate detection here won't work. $prior = $dbw->selectField( 'revision', '1', [ 'rev_page' => $pageId, 'rev_timestamp' => $dbw->timestamp( $this->timestamp ), - 'rev_user_text' => $userText, - 'rev_comment' => $this->getComment() ], + 'rev_sha1' => $this->sha1base36 ], __METHOD__ ); if ( $prior ) { @@ -554,6 +679,10 @@ class WikiRevision { return true; } + /** + * @since 1.12.2 + * @return bool + */ public function importLogItem() { $dbw = wfGetDB( DB_MASTER ); @@ -580,7 +709,6 @@ class WikiRevision { 'log_timestamp' => $dbw->timestamp( $this->timestamp ), 'log_namespace' => $this->getTitle()->getNamespace(), 'log_title' => $this->getTitle()->getDBkey(), - 'log_comment' => $this->getComment(), # 'log_user_text' => $this->user_text, 'log_params' => $this->params ], __METHOD__ @@ -592,9 +720,7 @@ class WikiRevision { . $this->timestamp . "\n" ); return false; } - $log_id = $dbw->nextSequenceValue( 'logging_log_id_seq' ); $data = [ - 'log_id' => $log_id, 'log_type' => $this->type, 'log_action' => $this->action, 'log_timestamp' => $dbw->timestamp( $this->timestamp ), @@ -602,15 +728,15 @@ class WikiRevision { 'log_user_text' => $userText, 'log_namespace' => $this->getTitle()->getNamespace(), 'log_title' => $this->getTitle()->getDBkey(), - 'log_comment' => $this->getComment(), 'log_params' => $this->params - ]; + ] + CommentStore::newKey( 'log_comment' )->insert( $dbw, $this->getComment() ); $dbw->insert( 'logging', $data, __METHOD__ ); return true; } /** + * @since 1.12.2 * @return bool */ public function importUpload() { @@ -682,6 +808,7 @@ class WikiRevision { } /** + * @since 1.12.2 * @return bool|string */ public function downloadSource() {