fileName = $file->getTitle()->getDBkey(); $instance->fullWidth = $file->getWidth() ?? 0; $instance->fullHeight = $file->getHeight() ?? 0; if ( isset( $fileParams['handler']['width'] ) ) { $instance->handlerWidth = $fileParams['handler']['width'] ?? 0; } return $instance; } /** * Instantiate PageImageCandidate from $json created with self::jsonSerialize * * @param array $array * @return PageImageCandidate * @internal */ public static function newFromArray( array $array ) : self { $instance = new self(); $instance->fileName = $array['filename']; $instance->fullWidth = $array['fullwidth'] ?? 0; $instance->fullHeight = $array['fullheight'] ?? 0; if ( isset( $array['handler']['width'] ) ) { $instance->handlerWidth = $array['handler']['width'] ?? 0; } return $instance; } /** * @return string */ public function getFileName() : string { return $this->fileName; } /** * @return int */ public function getFullWidth(): int { return $this->fullWidth; } /** * @return int */ public function getFullHeight(): int { return $this->fullHeight; } /** * @return int */ public function getHandlerWidth(): int { return $this->handlerWidth; } /** * @internal * @return array */ public function jsonSerialize() { return [ 'filename' => $this->getFileName(), 'fullwidth' => $this->getFullWidth(), 'fullheight' => $this->getFullHeight(), // Wrap in handler array for backwards-compatibility. 'handler' => [ 'width' => $this->getHandlerWidth() ] ]; } }