Mercurial > hg > isophonics-drupal-site
comparison core/modules/update/src/Controller/UpdateController.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 129ea1e6d783 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\update\Controller; | |
4 | |
5 use Drupal\update\UpdateManagerInterface; | |
6 use Symfony\Component\DependencyInjection\ContainerInterface; | |
7 use Drupal\Core\Controller\ControllerBase; | |
8 | |
9 /** | |
10 * Controller routines for update routes. | |
11 */ | |
12 class UpdateController extends ControllerBase { | |
13 | |
14 /** | |
15 * Update manager service. | |
16 * | |
17 * @var \Drupal\update\UpdateManagerInterface | |
18 */ | |
19 protected $updateManager; | |
20 | |
21 /** | |
22 * Constructs update status data. | |
23 * | |
24 * @param \Drupal\update\UpdateManagerInterface $update_manager | |
25 * Update Manager Service. | |
26 */ | |
27 public function __construct(UpdateManagerInterface $update_manager) { | |
28 $this->updateManager = $update_manager; | |
29 } | |
30 | |
31 /** | |
32 * {@inheritdoc} | |
33 */ | |
34 public static function create(ContainerInterface $container) { | |
35 return new static( | |
36 $container->get('update.manager') | |
37 ); | |
38 } | |
39 | |
40 /** | |
41 * Returns a page about the update status of projects. | |
42 * | |
43 * @return array | |
44 * A build array with the update status of projects. | |
45 */ | |
46 public function updateStatus() { | |
47 $build = [ | |
48 '#theme' => 'update_report' | |
49 ]; | |
50 if ($available = update_get_available(TRUE)) { | |
51 $this->moduleHandler()->loadInclude('update', 'compare.inc'); | |
52 $build['#data'] = update_calculate_project_data($available); | |
53 } | |
54 return $build; | |
55 } | |
56 | |
57 /** | |
58 * Manually checks the update status without the use of cron. | |
59 */ | |
60 public function updateStatusManually() { | |
61 $this->updateManager->refreshUpdateData(); | |
62 $batch = [ | |
63 'operations' => [ | |
64 [[$this->updateManager, 'fetchDataBatch'], []], | |
65 ], | |
66 'finished' => 'update_fetch_data_finished', | |
67 'title' => t('Checking available update data'), | |
68 'progress_message' => t('Trying to check available update data ...'), | |
69 'error_message' => t('Error checking available update data.'), | |
70 ]; | |
71 batch_set($batch); | |
72 return batch_process('admin/reports/updates'); | |
73 } | |
74 | |
75 } |