/** * * @param $chanName * @param $package * @param Mage_Connect_Singleconfig $cacheObj * @param Mage_Connect_Ftp $ftp * @return unknown_type */ public function processUninstallPackageFtp($chanName, $package, $cacheObj, $ftp) { $ftpDir = $ftp->getcwd(); $package = $cacheObj->getPackageObject($chanName, $package); $contents = $package->getContents(); foreach ($contents as $file) { $res = $ftp->delete($file); $this->removeEmptyDirectory(dirname($file), $ftp); } $remoteXml = Mage_Connect_Package::PACKAGE_XML_DIR . DS . $package->getReleaseFilename() . '.xml'; $ftp->delete($remoteXml); $ftp->chdir($ftpDir); }
/** * Install package over FTP * * @param Mage_Connect_Package $package * @param string $file * @param Mage_Connect_Config $configObj * @param Mage_Connect_Ftp $ftp * @return void */ public function processInstallPackageFtp($package, $file, $configObj, $ftp) { $ftpDir = $ftp->getcwd(); $contents = $package->getContents(); $arc = $this->getArchiver(); $target = dirname($file) . DS . $package->getReleaseFilename(); @mkdir($target, 0777, true); $tar = $arc->unpack($file, $target); $modeFile = $this->_getFileMode($configObj); $modeDir = $this->_getDirMode($configObj); foreach ($contents as $file) { $source = $tar . DS . $file; if (file_exists($source) && is_file($source)) { $args = array(ltrim($file, "/"), $source); if ($modeDir || $modeFile) { $args[] = $modeDir; $args[] = $modeFile; } call_user_func_array(array($ftp, 'upload'), $args); } } $localXml = $tar . Mage_Connect_Package_Reader::DEFAULT_NAME_PACKAGE; if (is_file($localXml)) { $remoteXml = Mage_Connect_Package::PACKAGE_XML_DIR . DS . $package->getReleaseFilename() . '.xml'; $ftp->upload($remoteXml, $localXml, $modeDir, $modeFile); } $ftp->chdir($ftpDir); Mage_System_Dirs::rm(array("-r", $target)); }
/** * * @param $chanName * @param $package * @param Mage_Connect_Singleconfig $cacheObj * @param Mage_Connect_Ftp $ftp * @return unknown_type */ public function processUninstallPackageFtp($chanName, $package, $cacheObj, $ftp) { $ftpDir = $ftp->getcwd(); $package = $cacheObj->getPackageObject($chanName, $package); $contents = $package->getContents(); foreach ($contents as $file) { $res = $ftp->delete($file); } $ftp->chdir($ftpDir); }
/** * Install package over FTP * * @param Mage_Connect_Package $package * @param string $file * @param Mage_Connect_Config $configObj * @param Mage_Connect_Ftp $ftp * @throws RuntimeException */ public function processInstallPackageFtp($package, $file, $configObj, $ftp) { $ftpDir = $ftp->getcwd(); $contents = $package->getContents(); $arc = $this->getArchiver(); $target = dirname($file) . DS . $package->getReleaseFilename(); if (!@mkdir($target, 0777, true)) { throw new RuntimeException("Can't create directory " . $target); } $tar = $arc->unpack($file, $target); $modeFile = $this->_getFileMode($configObj); $modeDir = $this->_getDirMode($configObj); $failedFiles = array(); foreach ($contents as $file) { $source = $tar . DS . $file; if (file_exists($source) && is_file($source)) { $args = array(ltrim($file, "/"), $source); if ($modeDir || $modeFile) { $args[] = $modeDir; $args[] = $modeFile; } if (call_user_func_array(array($ftp, 'upload'), $args) === false) { $failedFiles[] = $source; } } } if (!empty($failedFiles)) { $msg = sprintf("Failed to upload files: %s \r\n Check permissions", implode("\r\n", $failedFiles)); throw new RuntimeException($msg); } $localXml = $tar . Mage_Connect_Package_Reader::DEFAULT_NAME_PACKAGE; if (is_file($localXml)) { $remoteXml = Mage_Connect_Package::PACKAGE_XML_DIR . DS . $package->getReleaseFilename() . '.xml'; $ftp->upload($remoteXml, $localXml, $modeDir, $modeFile); } $ftp->chdir($ftpDir); Mage_System_Dirs::rm(array("-r", $target)); }