Mage_Connect_Packager::processInstallPackage PHP Method

processInstallPackage() public method

Package installation to FS
public processInstallPackage ( Mage_Connect_Package $package, string $file, $configObj ) : void
$package Mage_Connect_Package
$file string
return void
    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));
    }