Ejemplo n.º 1
0
 /**
  * Package installation to FS
  * @param Mage_Connect_Package $package
  * @param string $file
  * @return void
  * @throws Exception
  */
 public function processInstallPackage($package, $file, $configObj)
 {
     $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) {
         $fileName = basename($file);
         $filePath = dirname($file);
         $source = $tar . DS . $file;
         $targetPath = rtrim($configObj->magento_root, "\\/");
         @mkdir($targetPath . DS . $filePath, $modeDir, true);
         $dest = $targetPath . DS . $filePath . DS . $fileName;
         if (is_file($source)) {
             @copy($source, $dest);
             if ($modeFile) {
                 @chmod($dest, $modeFile);
             }
         } else {
             @mkdir($dest, $modeDir);
         }
     }
     $packageXml = $tar . Mage_Connect_Package_Reader::DEFAULT_NAME_PACKAGE;
     if (is_file($packageXml)) {
         $destDir = $targetPath . DS . Mage_Connect_Package::PACKAGE_XML_DIR;
         $destFile = $package->getReleaseFilename() . '.xml';
         $dest = $destDir . DS . $destFile;
         @copy($packageXml, $dest);
         @chmod($dest, $modeFile);
     }
     Mage_System_Dirs::rm(array("-r", $target));
 }
Ejemplo n.º 2
0
 /**
  * Package installation to FS
  * @param Mage_Connect_Package $package
  * @param string $file
  * @return void
  * @throws Exception
  */
 public function processInstallPackage($package, $file, $configObj)
 {
     $contents = $package->getContents();
     $arc = $this->getArchiver();
     $target = dirname($file) . DS . $package->getReleaseFilename();
     @mkdir($target, 0777, true);
     $mode = $configObj->global_dir_mode;
     $tar = $arc->unpack($file, $target);
     $modeFile = $configObj->global_file_mode;
     $modeDir = $configObj->global_dir_mode;
     foreach ($contents as $file) {
         $fileName = basename($file);
         $filePath = dirname($file);
         $source = $tar . DS . $file;
         $targetPath = rtrim($configObj->magento_root, "\\/");
         @mkdir($targetPath . DS . $filePath, $modeDir, true);
         $dest = $targetPath . DS . $filePath . DS . $fileName;
         if (is_file($source)) {
             @copy($source, $dest);
             if ($modeFile) {
                 @chmod($dest, $modeFile);
             }
         } else {
             @mkdir($dest, $modeDir);
         }
     }
     Mage_System_Dirs::rm(array("-r", $target));
 }