/** * Show the plugin list to the user, until "all" or "exit" was entered * * @param callable $callback * @param array $params */ public function operationLoop($callback, $params) { $plugins = $this->pluginProvider->getPlugins(); while (true) { $response = $this->pluginSelector->selectPlugin($plugins, array('all', 'exit')); if ($response == 'exit') { return; } $this->ioService->cls(); $responsePlugins = $this->getPluginsFromResponse($response, $plugins); foreach ($responsePlugins as $plugin) { $this->executeMethodCallback($plugin, $callback, $params); } $this->ioService->ask("\n<error>Done, hit enter to continue.</error>"); $this->ioService->cls(); } }