14 use Zend\Mvc\Controller\AbstractActionController;
    15 use Zend\View\Model\JsonModel;
    59         $this->moduleStatus = $moduleStatusFactory->
create();
    70         $packages = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY);
    72         foreach ($packages as $package) {
    73             $data[] = implode(
' ', $package);
    75         $dependencyCheck = $this->dependencyReadinessCheck->runReadinessCheck(
$data);
    77         if (!$dependencyCheck[
'success']) {
    79             $data[
'errorMessage'] = $dependencyCheck[
'error'];
    81         $data[
'responseType'] = $responseType;
    82         return new JsonModel(
$data);
    93         $packages = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY);
    95         $packagesToDelete = [];
    96         foreach ($packages as $package) {
    97             $packagesToDelete[] = $package[
'name'];
   100         $dependencyCheck = $this->uninstallDependencyCheck->runUninstallReadinessCheck($packagesToDelete);
   102         if (!$dependencyCheck[
'success']) {
   104             $data[
'errorMessage'] = $dependencyCheck[
'error'];
   106         $data[
'responseType'] = $responseType;
   107         return new JsonModel(
$data);
   118         $data = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY);
   121             if (empty(
$data[
'packages'])) {
   122                 throw new \Exception(
'No packages have been found.');
   125             if (empty(
$data[
'type'])) {
   126                 throw new \Exception(
'Can not determine the flow.');
   129             $modules = 
$data[
'packages'];
   131             $isEnable = (
$data[
'type'] !== 
'disable');
   133             $modulesToChange = [];
   134             foreach ($modules as $module) {
   135                 if (!isset($module[
'name'])) {
   136                     throw new \Exception(
'Can not find module name.');
   138                 $modulesToChange[] = $module[
'name'];
   141             $constraints = $this->moduleStatus->checkConstraints($isEnable, $modulesToChange);
   145                 $data[
'errorMessage'] = 
"Unable to change status of modules because of the following constraints: "   146                     . implode(
"<br>", $constraints);
   151             $data[
'errorMessage'] = $e->getMessage();
   154         $data[
'responseType'] = $responseType;
   155         return new JsonModel(
$data);
 
$uninstallDependencyCheck
uninstallDependencyCheckAction()
const RESPONSE_TYPE_SUCCESS
enableDisableDependencyCheckAction()
__construct(DependencyReadinessCheck $dependencyReadinessCheck, UninstallDependencyCheck $uninstallDependencyCheck, ModuleStatusFactory $moduleStatusFactory)
const RESPONSE_TYPE_ERROR
$dependencyReadinessCheck
componentDependencyAction()