当前位置: 首页>>代码示例>>PHP>>正文


PHP Mage_Connect_Package::getContents方法代码示例

本文整理汇总了PHP中Mage_Connect_Package::getContents方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Connect_Package::getContents方法的具体用法?PHP Mage_Connect_Package::getContents怎么用?PHP Mage_Connect_Package::getContents使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mage_Connect_Package的用法示例。


在下文中一共展示了Mage_Connect_Package::getContents方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: doInstall


//.........这里部分代码省略.........
                         }
                     }
                 }
                 if ($ftp) {
                     $cwd = $ftpObj->getcwd();
                     $dir = $cwd . DIRECTORY_SEPARATOR . $config->downloader_path . DIRECTORY_SEPARATOR . Mage_Connect_Config::DEFAULT_CACHE_PATH . DIRECTORY_SEPARATOR . trim($pChan, "\\/");
                     $ftpObj->mkdirRecursive($dir, 0777);
                     $ftpObj->chdir($cwd);
                 } else {
                     $dir = $config->getChannelCacheDir($pChan);
                     @mkdir($dir, 0777, true);
                 }
                 $dir = $config->getChannelCacheDir($pChan);
                 $packageFileName = $pName . "-" . $pVer . ".tgz";
                 $file = $dir . DIRECTORY_SEPARATOR . $packageFileName;
                 if (!@file_exists($file)) {
                     $this->ui()->output("Starting to download {$packageFileName} ...");
                     $rest->downloadPackageFileOfRelease($pName, $pVer, $file);
                     $this->ui()->output(sprintf("...done: %s bytes", number_format(filesize($file))));
                 }
                 /**
                  * Remove old version package before install new
                  */
                 if ($cache->hasPackage($pChan, $pName)) {
                     if ($ftp) {
                         $packager->processUninstallPackageFtp($pChan, $pName, $cache, $ftpObj);
                     } else {
                         $packager->processUninstallPackage($pChan, $pName, $cache, $config);
                     }
                     $cache->deletePackage($pChan, $pName);
                 }
                 $package = new Mage_Connect_Package($file);
                 if ($clearInstallMode && $pInstallState != 'upgrade' && !$installAll) {
                     $contents = $package->getContents();
                     $this->backup()->setFileTypes(array('csv', 'html'));
                     $typesToBackup = $this->backup()->getFileTypes();
                     $this->validator()->validateContents($contents, $config, $typesToBackup);
                     $errors = $this->validator()->getErrors();
                     if (count($errors)) {
                         throw new Exception("Package '{$pName}' is invalid\n" . implode("\n", $errors));
                     }
                     $targetPath = rtrim($config->magento_root, "\\/");
                     foreach ($contents as $filePath) {
                         $this->backup()->addFile($filePath, $targetPath);
                     }
                     if ($this->backup()->getFilesCount() > 0) {
                         $this->ui()->output('<br/>');
                         $this->ui()->output('Backup of following files will be created :');
                         $this->ui()->output('<br/>');
                         $this->backup()->run();
                         $this->ui()->output(implode('<br/>', $this->backup()->getAllFiles()));
                         $this->ui()->output('<br/>');
                         $this->ui()->output($this->backup()->getFilesCount() . ' files was overwritten by installed extension.');
                         $this->ui()->output('<br/>');
                         $this->backup()->unsetAllFiles();
                     }
                 }
                 $conflicts = $package->checkPhpDependencies();
                 if (true !== $conflicts) {
                     $conflicts = implode(",", $conflicts);
                     $err = "Package {$pChan}/{$pName} {$pVer} depends on PHP extensions: " . $conflicts;
                     if ($forceMode) {
                         $this->doError($command, $err);
                     } else {
                         throw new Exception($err);
                     }
开发者ID:newedge-media,项目名称:iwantmymeds,代码行数:67,代码来源:Install.php

示例2: processInstallPackage

 /**
  * 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));
 }
开发者ID:hirentricore,项目名称:devmagento,代码行数:35,代码来源:Packager.php

示例3: processInstallPackage

 /**
  * 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));
 }
开发者ID:jpbender,项目名称:mage_virtual,代码行数:42,代码来源:Packager.php

示例4: array

<?php

/**
 * Generate modman file from Magento Connect 2.0 package.xml
 *
 * Usage:
 *
 *   php package2modman.php path/to/package.xml > path/to/modman
 *
 */
require_once __DIR__ . "/../www/app/Mage.php";
$package = new Mage_Connect_Package($argv[1]);
$modmanDefinition = array();
foreach ($package->getContents() as $path) {
    $path = preg_replace('{^\\./}', '', $path);
    $path = preg_replace('{^app/code/(.*?)/(.*?)/(.*?)/(.*)$}', 'app/code/$1/$2/$3', $path);
    $path = preg_replace('{^lib/(.*?)/(.*)$}', 'lib/$1', $path);
    $path = preg_replace('{^js/(.*?)/(.*?)/(.*)$}', 'js/$1', $path);
    $path = preg_replace('{^app/design/(.*?)/(.*?)/default/layout/(.*?)/(.*)$}', 'app/design/$1/$2/default/layout/$3', $path);
    $path = preg_replace('{^app/design/(.*?)/(.*?)/default/template/(.*?)/(.*)$}', 'app/design/$1/$2/default/template/$3', $path);
    $path = preg_replace('{^skin/(.*?)/(.*?)/default/(.*?)/(.*?)/(.*)$}', 'skin/$1/$2/default/$3/$4', $path);
    $modmanDefinition[$path] = $path;
}
foreach ($modmanDefinition as $source => $target) {
    printf("%s %s\n", $source, $target);
}
开发者ID:pboethig,项目名称:magento-boilerplate,代码行数:26,代码来源:package2modman.php


注:本文中的Mage_Connect_Package::getContents方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。