N98\Magento\Command\Developer\Module\Dependencies\OnCommand::findModuleDependencies PHP Method

findModuleDependencies() protected method

If $recursive = true, dependencies will be collected recursively for all module dependencies
protected findModuleDependencies ( string $moduleName, boolean $recursive = false ) : array
$moduleName string
$recursive boolean
return array
    protected function findModuleDependencies($moduleName, $recursive = false)
    {
        if ($this->modules === null) {
            $this->modules = \Mage::app()->getConfig()->getNode('modules')->asArray();
        }
        if (isset($this->modules[$moduleName])) {
            $dependencies = array();
            $module = $this->modules[$moduleName];
            if (isset($module['depends']) && is_array($module['depends']) && count($module['depends']) > 0) {
                foreach (array_keys($module['depends']) as $dependencyName) {
                    if (isset($this->modules[$dependencyName])) {
                        $dependencies[] = array($dependencyName, isset($this->modules[$dependencyName]['active']) ? $this->formatActive($this->modules[$dependencyName]['active']) : '-', isset($this->modules[$dependencyName]['version']) ? $this->modules[$dependencyName]['version'] : '-', isset($this->modules[$dependencyName]['codePool']) ? $this->modules[$dependencyName]['codePool'] : '-');
                        if ($recursive) {
                            $dependencies = array_merge($dependencies, $this->findModuleDependencies($dependencyName, $recursive));
                        }
                    } else {
                        $dependencies[] = array($dependencyName, 'Not installed', '-', '-');
                    }
                }
            }
            return $dependencies;
        } else {
            throw new InvalidArgumentException(sprintf("Module %s was not found", $moduleName));
        }
    }