protected function _loadErrorsFromWatcher($watcher) { $watcher->reloadUntilFinish(); $failed = array(); $compressedFailed = array(); foreach ($watcher->eventList as $event) { if (@$event->eventData['hasFailures']) { if (isset($event->eventData['message']['failed'])) { $failed = array_merge($failed, $event->eventData['message']['failed']); } else { if (isset($event->eventData['message']['compressedFailed'])) { foreach ($event->eventData['message']['compressedFailed'] as $key => $err) { $this->_mergeCompressedErrors($compressedFailed, $key, $err); } } } } } if (count($compressedFailed)) { if (count($failed)) { $event = new EventModel(); $eventData['hasFailures'] = true; $eventData['message'] = array('failed' => $failed); $event->eventData = $eventData; $compressor = new ErrorModelCompressEvent(); $compressor->setConfigMaxErrorsBeforeCompress(0); $compressor->compress($event); if (isset($event->eventData['message']['compressedFailed'])) { foreach ($event->eventData['compressedFailed'] as $key => $err) { $this->_mergeCompressedErrors($compressedFailed, $key, $err); } } } return $compressedFailed; } return $failed; }