Merge "Localisation updates from https://translatewiki.net."
[mediawiki.git] / includes / filerepo / file / ForeignDBFile.php
blobc5ff4a77fc28f1ca045475d32fc0d1c3139a5f7b
1 <?php
2 /**
3 * Foreign file with an accessible MediaWiki database.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 * http://www.gnu.org/copyleft/gpl.html
20 * @file
21 * @ingroup FileAbstraction
24 /**
25 * Foreign file with an accessible MediaWiki database
27 * @ingroup FileAbstraction
29 class ForeignDBFile extends LocalFile {
30 /**
31 * @param Title $title
32 * @param FileRepo $repo
33 * @param null $unused
34 * @return ForeignDBFile
36 static function newFromTitle( $title, $repo, $unused = null ) {
37 return new self( $title, $repo );
40 /**
41 * Create a ForeignDBFile from a title
42 * Do not call this except from inside a repo class.
44 * @param stdClass $row
45 * @param FileRepo $repo
46 * @return ForeignDBFile
48 static function newFromRow( $row, $repo ) {
49 $title = Title::makeTitle( NS_FILE, $row->img_name );
50 $file = new self( $title, $repo );
51 $file->loadFromRow( $row );
53 return $file;
56 /**
57 * @param string $srcPath
58 * @param int $flags
59 * @param array $options
60 * @return FileRepoStatus
61 * @throws MWException
63 function publish( $srcPath, $flags = 0, array $options = array() ) {
64 $this->readOnlyError();
67 /**
68 * @param string $oldver
69 * @param string $desc
70 * @param string $license
71 * @param string $copyStatus
72 * @param string $source
73 * @param bool $watch
74 * @param bool|string $timestamp
75 * @param User $user User object or null to use $wgUser
76 * @return bool
77 * @throws MWException
79 function recordUpload( $oldver, $desc, $license = '', $copyStatus = '', $source = '',
80 $watch = false, $timestamp = false, User $user = null ) {
81 $this->readOnlyError();
84 /**
85 * @param array $versions
86 * @param bool $unsuppress
87 * @return FileRepoStatus
88 * @throws MWException
90 function restore( $versions = array(), $unsuppress = false ) {
91 $this->readOnlyError();
94 /**
95 * @param string $reason
96 * @param bool $suppress
97 * @return FileRepoStatus
98 * @throws MWException
100 function delete( $reason, $suppress = false ) {
101 $this->readOnlyError();
105 * @param Title $target
106 * @return FileRepoStatus
107 * @throws MWException
109 function move( $target ) {
110 $this->readOnlyError();
114 * @return string
116 function getDescriptionUrl() {
117 // Restore remote behavior
118 return File::getDescriptionUrl();
122 * @param bool|Language $lang Optional language to fetch description in.
123 * @return string
125 function getDescriptionText( $lang = false ) {
126 // Restore remote behavior
127 return File::getDescriptionText( $lang );