3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 * http://www.gnu.org/copyleft/gpl.html
21 namespace MediaWiki\Edit
;
23 use MediaWiki\Content\Content
;
24 use MediaWiki\Parser\ParserOptions
;
25 use MediaWiki\Parser\ParserOutput
;
29 * Represents information returned by WikiPage::prepareContentForEdit()
31 * @deprecated since 1.32; Since 1.37, use PreparedUpdate instead.
44 * Content after going through pre-save transform
58 * Parser options used to get parser output
67 * @var ParserOutput|null
69 private $canonicalOutput;
72 * Content that is being saved (before PST)
79 * Current content of the page, if any
86 * Lazy-loading callback to get canonical ParserOutput object
90 public $parserOutputCallback;
93 * @return ParserOutput Canonical parser output
95 public function getOutput() {
96 if ( !$this->canonicalOutput
) {
97 $this->canonicalOutput
= call_user_func( $this->parserOutputCallback
);
100 return $this->canonicalOutput
;
104 * Fetch the ParserOutput via a lazy-loaded callback (for backwards compatibility).
106 * @deprecated since 1.33
107 * @param string $name
110 public function __get( $name ) {
111 if ( $name === 'output' ) {
112 return $this->getOutput();
113 } elseif ( $name === 'timestamp' ) {
114 return $this->getOutput()->getCacheTime();
117 throw new RuntimeException( "Undefined field $name." );