public function execute( $par = '' ) {
$this->getOutput()->disable();
-
if ( wfReadOnly() ) {
// HTTP 423 Locked
HttpStatus::header( 423 );
return;
}
- $optional = array( 'maxjobs' => 0, 'maxtime' => 30, 'type' => false, 'async' => true );
- $required = array_flip( array( 'title', 'tasks', 'signature', 'sigexpiry' ) );
+ $optional = [ 'maxjobs' => 0, 'maxtime' => 30, 'type' => false, 'async' => true ];
+ $required = array_flip( [ 'title', 'tasks', 'signature', 'sigexpiry' ] );
$params = array_intersect_key( $this->getRequest()->getValues(), $required + $optional );
$missing = array_diff_key( $required, $params );
if ( strpos( $errstr, 'Cannot modify header information' ) !== false ) {
return true; // bug T115413
}
- // Delegate unhandled errors to the default handlers
- return false;
+ // Delegate unhandled errors to the default MediaWiki handler
+ // so that fatal errors get proper logging (T89169)
+ return call_user_func_array(
+ 'MWExceptionHandler::handleError', func_get_args()
+ );
} );
}
// Do all of the specified tasks...
if ( in_array( 'jobs', explode( '|', $params['tasks'] ) ) ) {
$runner = new JobRunner( LoggerFactory::getInstance( 'runJobs' ) );
- $response = $runner->run( array(
+ $response = $runner->run( [
'type' => $params['type'],
'maxJobs' => $params['maxjobs'] ? $params['maxjobs'] : 1,
'maxTime' => $params['maxtime'] ? $params['maxjobs'] : 30
- ) );
+ ] );
if ( !$params['async'] ) {
print FormatJson::encode( $response, true );
}