Chris@0: updateManager = $update_manager; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public static function create(ContainerInterface $container) { Chris@0: return new static( Chris@0: $container->get('update.manager') Chris@0: ); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Returns a page about the update status of projects. Chris@0: * Chris@0: * @return array Chris@0: * A build array with the update status of projects. Chris@0: */ Chris@0: public function updateStatus() { Chris@0: $build = [ Chris@17: '#theme' => 'update_report', Chris@0: ]; Chris@0: if ($available = update_get_available(TRUE)) { Chris@0: $this->moduleHandler()->loadInclude('update', 'compare.inc'); Chris@0: $build['#data'] = update_calculate_project_data($available); Chris@0: } Chris@0: return $build; Chris@0: } Chris@0: Chris@0: /** Chris@0: * Manually checks the update status without the use of cron. Chris@0: */ Chris@0: public function updateStatusManually() { Chris@0: $this->updateManager->refreshUpdateData(); Chris@0: $batch = [ Chris@0: 'operations' => [ Chris@0: [[$this->updateManager, 'fetchDataBatch'], []], Chris@0: ], Chris@0: 'finished' => 'update_fetch_data_finished', Chris@0: 'title' => t('Checking available update data'), Chris@0: 'progress_message' => t('Trying to check available update data ...'), Chris@0: 'error_message' => t('Error checking available update data.'), Chris@0: ]; Chris@0: batch_set($batch); Chris@0: return batch_process('admin/reports/updates'); Chris@0: } Chris@0: Chris@0: }