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


PHP Mage_Connect_Package::validate方法代码示例

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


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

示例1: doPackage

 /**
  * Package command callback
  * @param string $command
  * @param array $options
  * @param array $params
  * @return void
  */
 public function doPackage($command, $options, $params)
 {
     $this->cleanupParams($params);
     if (count($params) < 1) {
         return $this->doError($command, "Parameters count should be >= 1");
     }
     $file = strtolower($params[0]);
     $file = realpath($file);
     if (!file_exists($file)) {
         return $this->doError($command, "File {$params[0]} doesn't exist");
     }
     try {
         $packager = new Mage_Connect_Package($file);
         $res = $packager->validate();
         if (!$res) {
             $this->doError($command, implode("\n", $packager->getErrors()));
             return;
         }
         $packager->save(dirname($file));
         $this->ui()->output('Done building package');
     } catch (Exception $e) {
         $this->doError($command, $e->getMessage());
     }
 }
开发者ID:chucky515,项目名称:Magento-CE-Mirror,代码行数:31,代码来源:Package.php

示例2: doInstall

 /**
  * Install action callback
  * @param string $command
  * @param array $options
  * @param array $params
  * @return void
  */
 public function doInstall($command, $options, $params, $objects = array())
 {
     $this->cleanupParams($params);
     $installFileMode = $command === 'install-file';
     try {
         $packager = $this->getPackager();
         $forceMode = isset($options['force']);
         $upgradeAllMode = $command == 'upgrade-all';
         $upgradeMode = $command == 'upgrade' || $command == 'upgrade-all';
         $noFilesInstall = isset($options['nofiles']);
         $withDepsMode = !isset($options['nodeps']);
         $ignoreModifiedMode = true || !isset($options['ignorelocalmodification']);
         $rest = $this->rest();
         $ftp = empty($options['ftp']) ? false : $options['ftp'];
         if ($ftp) {
             list($cache, $config, $ftpObj) = $packager->getRemoteConf($ftp);
         } else {
             $config = $this->config();
             $cache = $this->getSconfig();
         }
         if ($installFileMode) {
             if (count($params) < 1) {
                 throw new Exception("Argument should be: filename");
             }
             $filename = $params[0];
             if (!@file_exists($filename)) {
                 throw new Exception("File '{$filename}' not found");
             }
             if (!@is_readable($filename)) {
                 throw new Exception("File '{$filename}' is not readable");
             }
             $package = new Mage_Connect_Package($filename);
             $package->validate();
             $errors = $package->getErrors();
             if (count($errors)) {
                 throw new Exception("Package file is invalid\n" . implode("\n", $errors));
             }
             $pChan = $package->getChannel();
             $pName = $package->getName();
             $pVer = $package->getVersion();
             if (!$cache->isChannel($pChan)) {
                 throw new Exception("'{$pChan}' is not installed channel");
             }
             $conflicts = $cache->hasConflicts($pChan, $pName, $pVer);
             if (false !== $conflicts) {
                 $conflicts = implode(", ", $conflicts);
                 if ($forceMode) {
                     $this->doError($command, "Package {$pChan}/{$pName} {$pVer} conflicts with: " . $conflicts);
                 } else {
                     throw new Exception("Package {$pChan}/{$pName} {$pVer} conflicts with: " . $conflicts);
                 }
             }
             $conflicts = $package->checkPhpDependencies();
             if (true !== $conflicts) {
                 $confilcts = implode(",", $conflicts);
                 $err = "Package {$pChan}/{$pName} {$pVer} depends on PHP extensions: " . $conflicts;
                 if ($forceMode) {
                     $this->doError($command, $err);
                 } else {
                     throw new Exception($err);
                 }
             }
             $conflicts = $package->checkPhpVersion();
             if (true !== $conflicts) {
                 $err = "Package {$pChan}/{$pName} {$pVer}: " . $conflicts;
                 if ($forceMode) {
                     $this->doError($command, $err);
                 } else {
                     throw new Exception($err);
                 }
             }
             if (!$noFilesInstall) {
                 if ($ftp) {
                     $packager->processInstallPackageFtp($package, $filename, $config, $ftpObj);
                 } else {
                     $packager->processInstallPackage($package, $filename, $config);
                 }
             }
             $cache->addPackage($package);
             $installedDeps = array();
             $installedDepsAssoc = array();
             $installedDepsAssoc[] = array('channel' => $pChan, 'name' => $pName, 'version' => $pVer);
             $installedDeps[] = array($pChan, $pName, $pVer);
             $title = isset($options['title']) ? $options['title'] : "Package installed: ";
             $out = array($command => array('data' => $installedDeps, 'assoc' => $installedDepsAssoc, 'title' => $title));
             if ($ftp) {
                 $packager->writeToRemoteCache($cache, $ftpObj);
                 @unlink($config->getFilename());
             }
             $this->ui()->output($out);
             return $out[$command]['data'];
         }
         if (!$upgradeAllMode) {
//.........这里部分代码省略.........
开发者ID:nemphys,项目名称:magento2,代码行数:101,代码来源:Install.php

示例3: doInstall

 /**
  * Install action callback
  *
  * @throws Exception
  * @param string $command
  * @param array $options
  * @param array $params
  * @param array $objects
  * @return array|null
  */
 public function doInstall($command, $options, $params, $objects = array())
 {
     $this->cleanupParams($params);
     $installFileMode = $command === 'install-file';
     /** @var $ftpObj Mage_Connect_Ftp */
     $ftpObj = null;
     $ftp = empty($options['ftp']) ? false : $options['ftp'];
     /** @var $packager Mage_Connect_Packager */
     $packager = $this->getPackager();
     /** @var $cache Mage_Connect_Singleconfig */
     /** @var $config Mage_Connect_Config */
     if ($ftp) {
         list($cache, $config, $ftpObj) = $packager->getRemoteConf($ftp);
     } else {
         $cache = $this->getSconfig();
         $config = $this->config();
     }
     try {
         $forceMode = isset($options['force']);
         $upgradeAllMode = $command == 'upgrade-all';
         $upgradeMode = $command == 'upgrade' || $command == 'upgrade-all';
         $noFilesInstall = isset($options['nofiles']);
         $withDepsMode = !isset($options['nodeps']);
         $ignoreModifiedMode = true || !isset($options['ignorelocalmodification']);
         $clearInstallMode = $command == 'install' && !$forceMode;
         $installAll = isset($options['install_all']);
         $channelAuth = isset($options['auth']) ? $options['auth'] : array();
         $rest = $this->rest();
         if (empty($config->magento_root)) {
             $config->magento_root = dirname(dirname($_SERVER['SCRIPT_FILENAME']));
         }
         chdir($config->magento_root);
         $dirCache = DIRECTORY_SEPARATOR . $config->downloader_path . DIRECTORY_SEPARATOR . Mage_Connect_Config::DEFAULT_CACHE_PATH;
         $dirTmp = DIRECTORY_SEPARATOR . Mage_Connect_Package_Reader::PATH_TO_TEMPORARY_DIRECTORY;
         $dirMedia = DIRECTORY_SEPARATOR . 'media';
         $isWritable = true;
         if ($ftp) {
             $cwd = $ftpObj->getcwd();
             $ftpObj->mkdirRecursive($cwd . $dirCache, 0777);
             $ftpObj->chdir($cwd);
             $ftpObj->mkdirRecursive($cwd . $dirTmp, 0777);
             $ftpObj->chdir($cwd);
             $ftpObj->mkdirRecursive($cwd . $dirMedia, 0777);
             $ftpObj->chdir($cwd);
             $err = "Please check for sufficient ftp write file permissions.";
         } else {
             @mkdir($config->magento_root . $dirCache, 0777, true);
             @mkdir($config->magento_root . $dirTmp, 0777, true);
             @mkdir($config->magento_root . $dirMedia, 0777, true);
             $isWritable = is_writable($config->magento_root) && is_writable($config->magento_root . DIRECTORY_SEPARATOR . $config->downloader_path) && is_writable($config->magento_root . $dirCache) && is_writable($config->magento_root . $dirTmp) && is_writable($config->magento_root . $dirMedia);
             $err = "Please check for sufficient write file permissions.";
         }
         $isWritable = $isWritable && is_writable($config->magento_root . $dirMedia) && is_writable($config->magento_root . $dirCache) && is_writable($config->magento_root . $dirTmp);
         if (!$isWritable) {
             $this->doError($command, $err);
             throw new Exception('Your Magento folder does not have sufficient write permissions, which downloader requires.');
         }
         if (!empty($channelAuth)) {
             $rest->getLoader()->setCredentials($channelAuth['username'], $channelAuth['password']);
         }
         if ($installFileMode) {
             if (count($params) < 1) {
                 throw new Exception("Argument should be: filename");
             }
             $filename = $params[0];
             if (!@file_exists($filename)) {
                 throw new Exception("File '{$filename}' not found");
             }
             if (!@is_readable($filename)) {
                 throw new Exception("File '{$filename}' is not readable");
             }
             $package = new Mage_Connect_Package($filename);
             $package->setConfig($config);
             $package->validate();
             $errors = $package->getErrors();
             if (count($errors)) {
                 throw new Exception("Package file is invalid\n" . implode("\n", $errors));
             }
             $pChan = $package->getChannel();
             $pName = $package->getName();
             $pVer = $package->getVersion();
             if (!($cache->isChannelName($pChan) || $cache->isChannelAlias($pChan))) {
                 throw new Exception("The '{$pChan}' channel is not installed. Please use the MAGE shell " . "script to install the '{$pChan}' channel.");
             }
             $conflicts = $cache->hasConflicts($pChan, $pName, $pVer);
             if (false !== $conflicts) {
                 $conflicts = implode(", ", $conflicts);
                 if ($forceMode) {
                     $this->doError($command, "Package {$pChan}/{$pName} {$pVer} conflicts with: " . $conflicts);
                 } else {
//.........这里部分代码省略.........
开发者ID:newedge-media,项目名称:iwantmymeds,代码行数:101,代码来源:Install.php


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