/** * */ public function layoutDistAction() { $lsDependency = System::localRequest(BASE_DIR . DS . "layout" . DS . "layout.json"); $laDependency = json_decode($lsDependency, true); Debug::debug($laDependency); if (isset($laDependency['dist']) && is_array($laDependency['dist'])) { System::createDir($this->_sLayoutVendor); foreach ($laDependency['dist'] as $lsPackage => $lsDist) { $laPackage = explode("/", $lsPackage); $lsPackageDir = $this->_sLayoutVendor . DS . $laPackage[0]; System::createDir($lsPackageDir); if (is_dir($lsPackageDir)) { chdir($lsPackageDir); echo "Getting {$lsDist}\n"; System::execute("wget {$lsDist}"); $laDist = parse_url($lsDist); $laPath = explode("/", $laDist['path']); $lsGzFile = $laPath[count($laPath) - 1]; $lsGzFilePath = $lsPackageDir . DS . $lsGzFile; if (is_file($lsGzFilePath)) { if (preg_match("/.zip\$/", $lsGzFile)) { System::execute("unzip {$lsGzFile}"); } elseif (preg_match("/.tar.gz\$/", $lsGzFile)) { System::execute("tar -xzf {$lsGzFile}"); } System::removeFile($lsGzFile); } } } } }
/** * * @param string $psCommand * @return bool */ public function checkCommandLine($psCommand) { $laCommandReturn = System::execute("command -v {$psCommand}"); Debug::debug($laCommandReturn); if (is_array($laCommandReturn) && count($laCommandReturn) > 0) { return true; } return false; }