30
30
* along with this program. If not, see <http://www.gnu.org/licenses/>
31
31
*
32
32
*/
33
+ use OCP \EventDispatcher \Event ;
33
34
use OCP \EventDispatcher \IEventDispatcher ;
34
35
use OCP \IEventSource ;
35
36
use OCP \IL10N ;
36
37
use OCP \ILogger ;
37
38
use OC \DB \MigratorExecuteSqlEvent ;
38
- use Symfony \Component \EventDispatcher \GenericEvent ;
39
+ use OC \Repair \Events \RepairAdvanceEvent ;
40
+ use OC \Repair \Events \RepairErrorEvent ;
41
+ use OC \Repair \Events \RepairFinishEvent ;
42
+ use OC \Repair \Events \RepairInfoEvent ;
43
+ use OC \Repair \Events \RepairStartEvent ;
44
+ use OC \Repair \Events \RepairStepEvent ;
45
+ use OC \Repair \Events \RepairWarningEvent ;
39
46
40
47
if (strpos (@ini_get ('disable_functions ' ), 'set_time_limit ' ) === false ) {
41
48
@set_time_limit (0 );
@@ -63,41 +70,29 @@ public function __construct(IEventSource $eventSource, IL10N $l10n) {
63
70
$ this ->l10n = $ l10n ;
64
71
}
65
72
66
- public function handleRepairFeedback ($ event ): void {
67
- if (!$ event instanceof GenericEvent) {
68
- return ;
69
- }
70
-
71
- switch ($ event ->getSubject ()) {
72
- case '\OC\Repair::startProgress ' :
73
- $ this ->progressStateMax = $ event ->getArgument ('max ' );
74
- $ this ->progressStateStep = 0 ;
75
- $ this ->currentStep = (string )$ event ->getArgument ('step ' );
76
- break ;
77
- case '\OC\Repair::advance ' :
78
- $ this ->progressStateStep += $ event ->getArgument ('step ' );
79
- $ desc = $ event ->getArgument ('desc ' );
80
- if (empty ($ desc )) {
81
- $ desc = $ this ->currentStep ;
82
- }
83
- $ this ->eventSource ->send ('success ' , $ this ->l10n ->t ('[%d / %d]: %s ' , [$ this ->progressStateStep , $ this ->progressStateMax , $ desc ]));
84
- break ;
85
- case '\OC\Repair::finishProgress ' :
86
- $ this ->progressStateMax = $ this ->progressStateStep ;
87
- $ this ->eventSource ->send ('success ' , $ this ->l10n ->t ('[%d / %d]: %s ' , [$ this ->progressStateStep , $ this ->progressStateMax , $ this ->currentStep ]));
88
- break ;
89
- case '\OC\Repair::step ' :
90
- $ this ->eventSource ->send ('success ' , $ this ->l10n ->t ('Repair step: ' ) . ' ' . $ event ->getArgument ('step ' ));
91
- break ;
92
- case '\OC\Repair::info ' :
93
- $ this ->eventSource ->send ('success ' , $ this ->l10n ->t ('Repair info: ' ) . ' ' . $ event ->getArgument ('message ' ));
94
- break ;
95
- case '\OC\Repair::warning ' :
96
- $ this ->eventSource ->send ('notice ' , $ this ->l10n ->t ('Repair warning: ' ) . ' ' . $ event ->getArgument ('message ' ));
97
- break ;
98
- case '\OC\Repair::error ' :
99
- $ this ->eventSource ->send ('notice ' , $ this ->l10n ->t ('Repair error: ' ) . ' ' . $ event ->getArgument ('message ' ));
100
- break ;
73
+ public function handleRepairFeedback (Event $ event ): void {
74
+ if ($ event instanceof RepairStartEvent) {
75
+ $ this ->progressStateMax = $ event ->getMaxStep ();
76
+ $ this ->progressStateStep = 0 ;
77
+ $ this ->currentStep = $ event ->getCurrentStepName ();
78
+ } elseif ($ event instanceof RepairAdvanceEvent) {
79
+ $ this ->progressStateStep += $ event ->getCurrentStep ();
80
+ $ desc = $ event ->getDescription ();
81
+ if (empty ($ desc )) {
82
+ $ desc = $ this ->currentStep ;
83
+ }
84
+ $ this ->eventSource ->send ('success ' , $ this ->l10n ->t ('[%d / %d]: %s ' , [$ this ->progressStateStep , $ this ->progressStateMax , $ desc ]));
85
+ } elseif ($ event instanceof RepairFinishEvent) {
86
+ $ this ->progressStateMax = $ this ->progressStateStep ;
87
+ $ this ->eventSource ->send ('success ' , $ this ->l10n ->t ('[%d / %d]: %s ' , [$ this ->progressStateStep , $ this ->progressStateMax , $ this ->currentStep ]));
88
+ } elseif ($ event instanceof RepairStepEvent) {
89
+ $ this ->eventSource ->send ('success ' , $ this ->l10n ->t ('Repair step: ' ) . ' ' . $ event ->getStepName ());
90
+ } elseif ($ event instanceof RepairInfoEvent) {
91
+ $ this ->eventSource ->send ('success ' , $ this ->l10n ->t ('Repair info: ' ) . ' ' . $ event ->getMessage ());
92
+ } elseif ($ event instanceof RepairWarningEvent) {
93
+ $ this ->eventSource ->send ('notice ' , $ this ->l10n ->t ('Repair warning: ' ) . ' ' . $ event ->getMessage ());
94
+ } elseif ($ event instanceof RepairErrorEvent) {
95
+ $ this ->eventSource ->send ('notice ' , $ this ->l10n ->t ('Repair error: ' ) . ' ' . $ event ->getMessage ());
101
96
}
102
97
}
103
98
}
@@ -124,20 +119,19 @@ public function handleRepairFeedback($event): void {
124
119
);
125
120
$ incompatibleApps = [];
126
121
127
- $ dispatcher = \OC ::$ server ->getEventDispatcher ();
128
- /** @var IEventDispatcher $newDispatcher */
129
- $ newDispatcher = \OC ::$ server ->get (IEventDispatcher::class);
130
- $ newDispatcher ->addListener (MigratorExecuteSqlEvent::class, function (MigratorExecuteSqlEvent $ event ) use ($ eventSource , $ l ) {
122
+ /** @var IEventDispatcher $dispatcher */
123
+ $ dispatcher = \OC ::$ server ->get (IEventDispatcher::class);
124
+ $ dispatcher ->addListener (MigratorExecuteSqlEvent::class, function (MigratorExecuteSqlEvent $ event ) use ($ eventSource , $ l ) {
131
125
$ eventSource ->send ('success ' , $ l ->t ('[%d / %d]: %s ' , [$ event ->getCurrentStep (), $ event ->getMaxStep (), $ event ->getSql ()]));
132
126
});
133
127
$ feedBack = new FeedBackHandler ($ eventSource , $ l );
134
- $ dispatcher ->addListener (' \OC\Repair::startProgress ' , [$ feedBack , 'handleRepairFeedback ' ]);
135
- $ dispatcher ->addListener (' \OC\Repair::advance ' , [$ feedBack , 'handleRepairFeedback ' ]);
136
- $ dispatcher ->addListener (' \OC\Repair::finishProgress ' , [$ feedBack , 'handleRepairFeedback ' ]);
137
- $ dispatcher ->addListener (' \OC\Repair::step ' , [$ feedBack , 'handleRepairFeedback ' ]);
138
- $ dispatcher ->addListener (' \OC\Repair::info ' , [$ feedBack , 'handleRepairFeedback ' ]);
139
- $ dispatcher ->addListener (' \OC\Repair::warning ' , [$ feedBack , 'handleRepairFeedback ' ]);
140
- $ dispatcher ->addListener (' \OC\Repair::error ' , [$ feedBack , 'handleRepairFeedback ' ]);
128
+ $ dispatcher ->addListener (RepairStartEvent::class , [$ feedBack , 'handleRepairFeedback ' ]);
129
+ $ dispatcher ->addListener (RepairAdvanceEvent::class , [$ feedBack , 'handleRepairFeedback ' ]);
130
+ $ dispatcher ->addListener (RepairFinishEvent::class , [$ feedBack , 'handleRepairFeedback ' ]);
131
+ $ dispatcher ->addListener (RepairStepEvent::class , [$ feedBack , 'handleRepairFeedback ' ]);
132
+ $ dispatcher ->addListener (RepairInfoEvent::class , [$ feedBack , 'handleRepairFeedback ' ]);
133
+ $ dispatcher ->addListener (RepairWarningEvent::class , [$ feedBack , 'handleRepairFeedback ' ]);
134
+ $ dispatcher ->addListener (RepairErrorEvent::class , [$ feedBack , 'handleRepairFeedback ' ]);
141
135
142
136
$ updater ->listen ('\OC\Updater ' , 'maintenanceEnabled ' , function () use ($ eventSource , $ l ) {
143
137
$ eventSource ->send ('success ' , $ l ->t ('Turned on maintenance mode ' ));
0 commit comments