diff --git a/public_html/deployment/classes/build_base.class.php b/public_html/deployment/classes/build_base.class.php index 5f46ec4983c6fe4f844ef428f55ac0e2392e9d1a..bc9f3f000b92f59e2edde6d650f30bb3c88df9f0 100644 --- a/public_html/deployment/classes/build_base.class.php +++ b/public_html/deployment/classes/build_base.class.php @@ -108,7 +108,7 @@ class build_base implements iBuildplugin{ * @return array */ public function setOutfile($sOutFilename){ - return $this->_sOutfile=$sOutFilename ? $sOutFilename.$this->getExtension() : $this->_sOutfile; + return $this->_sOutfile=$sOutFilename ? $sOutFilename : $this->_sOutfile; } // --------------------------------------------------------------- @@ -184,15 +184,15 @@ class build_base implements iBuildplugin{ */ public function getExtension(){ $aInfos=$this->getPluginInfos(); - return isset($aInfos['extenmsion']) ? '.'.$aInfos['extenmsion'] : ''; + return isset($aInfos['extension']) ? '.'.$aInfos['extension'] : ''; } /** - * set outfile name + * set outfile name including extension (from plugin metadata) * @param string $sOutFilename filename for output (without extension) * @return array */ public function getOutfile(){ - return $this->_sOutfile; + return $this->_sOutfile.$this->getExtension(); } /** * set outfile name diff --git a/public_html/deployment/classes/project.class.php b/public_html/deployment/classes/project.class.php index 90b8f3bda41439a5cd17464f6c40546cf502f8e2..5e28c09bfd971d0e9f7c49d420775404db0dad22 100644 --- a/public_html/deployment/classes/project.class.php +++ b/public_html/deployment/classes/project.class.php @@ -438,14 +438,14 @@ class project extends base { } /** - * get filename for package file (.tgz file) + * get filename for package file (without file extension) * @param string $sPhase one of preview|stage|live ... * @param string $sPlace one of onhold|ready2install|deployed * @return string */ private function _getPackagefile($sPhase, $sPlace) { $sBase = $this->_getFileBase($sPhase, $sPlace); - return $sBase ? $sBase . '/' . $this->_aPrjConfig["fileprefix"] . '.tgz' : false; + return $sBase ? $sBase . '/' . $this->_aPrjConfig["fileprefix"] : false; } /** @@ -477,6 +477,7 @@ class project extends base { $sIcon = 'file-template'; break; case 'tgz': + case 'zip': $sType = 'package'; $sIcon = 'file-archive'; break; @@ -3523,7 +3524,7 @@ class project extends base { ), ), ); - if (count($aForemanHostgroups)) { + if ($aForemanHostgroups && count($aForemanHostgroups)) { foreach ($aForemanHostgroups as $aItem) { $bActive=$iForemanHostgroupDefault === (int) $aItem['id']; $aSelectForemanGroups['options'][$aItem['id']] = array( @@ -3865,7 +3866,7 @@ class project extends base { ), ), ); - if (count($aForemanHostgroups)) { + if (is_array($aForemanHostgroups) && count($aForemanHostgroups)) { foreach ($aForemanHostgroups as $aItem) { $aSelectForemanHostGroup['options'][$aItem['id']] = array( 'label' => $aItem['title'], diff --git a/public_html/deployment/plugins/build/zip/build_zip.php b/public_html/deployment/plugins/build/zip/build_zip.php index 37e7066f208f1ac93e0e27fcc25d0503eb8dae63..2fadc359a115da1f020de2bb93ee7f625db53226 100644 --- a/public_html/deployment/plugins/build/zip/build_zip.php +++ b/public_html/deployment/plugins/build/zip/build_zip.php @@ -20,11 +20,15 @@ class build_zip extends build_base { /** * get an array with shell commands to execute + * used zip params: + * -9 compress better + * -q quiet operation + * -r recurse into directories * @return array */ public function getBuildCommands(){ return [ - 'cd "'. $this->getBuildDir(). '" && zip -r9 "'. $this->getOutfile().'" .' + 'cd "'. $this->getBuildDir(). '" && zip -9qr "'. $this->getOutfile().'" .' ]; }