'parameters' => $this->parameters,
'format' => $this->format,
'useDatabase' => $this->useDatabase,
- 'title' => $this->title,
'titlestr' => $this->title ? $this->title->getFullText() : null,
] );
}
*/
public function unserialize( $serialized ) {
$data = unserialize( $serialized );
+ if ( !is_array( $data ) ) {
+ throw new InvalidArgumentException( __METHOD__ . ': Invalid serialized data' );
+ }
+
$this->interface = $data['interface'];
$this->key = $data['key'];
$this->keysToTry = $data['keysToTry'];
// escaped, breaking the replacement and avoiding XSS.
$replacementKeys['$' . ( $n + 1 )] = $marker . ( $n + 1 );
}
- } else {
- if ( $paramType === 'after' ) {
- $replacementKeys[$marker . ( $n + 1 )] = $value;
- }
+ } elseif ( $paramType === 'after' ) {
+ $replacementKeys[$marker . ( $n + 1 )] = $value;
}
}
- $message = strtr( $message, $replacementKeys );
- return $message;
+ return strtr( $message, $replacementKeys );
}
/**