* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2009 The Authors
* @license http://opensource.org/licenses/bsd-license.php New BSD License
- * @version CVS: $Id: Package.php 313023 2011-07-06 19:17:11Z dufuz $
* @link http://pear.php.net/package/PEAR
* @since File available since Release 1.4.0a1
*/
* @author Greg Beaver <cellog@php.net>
* @copyright 1997-2009 The Authors
* @license http://opensource.org/licenses/bsd-license.php New BSD License
- * @version Release: 1.9.4
+ * @version Release: 1.10.1
* @link http://pear.php.net/package/PEAR
* @since Class available since Release 1.4.0a1
*/
/**
* @param PEAR_Downloader
*/
- function PEAR_Downloader_Package(&$downloader)
+ function __construct(&$downloader)
{
$this->_downloader = &$downloader;
$this->_config = &$this->_downloader->config;
/**
* Remove packages to be downloaded that are already installed
* @param array of PEAR_Downloader_Package objects
- * @static
*/
- function removeInstalled(&$params)
+ public static function removeInstalled(&$params)
{
if (!isset($params[0])) {
return;
if ($param->_installRegistry->packageExists($package, $channel)) {
$packageVersion = $param->_installRegistry->packageInfo($package, 'version', $channel);
if (version_compare($packageVersion, $param->getVersion(), '==')) {
- if (!isset($options['force'])) {
+ if (!isset($options['force']) && !isset($options['packagingroot'])) {
$info = $param->getParsedPackage();
unset($info['version']);
unset($info['state']);
$params[$i] = false;
}
} elseif (!isset($options['force']) && !isset($options['upgrade']) &&
- !isset($options['soft'])) {
+ !isset($options['soft']) && !isset($options['packagingroot'])) {
$info = $param->getParsedPackage();
$param->_downloader->log(1, 'Skipping package "' .
$param->getShortName() .
* @param array $errorparams empty array
* @return array array of stupid duplicated packages in PEAR_Downloader_Package obejcts
*/
- function detectStupidDuplicates($params, &$errorparams)
+ public static function detectStupidDuplicates($params, &$errorparams)
{
$existing = array();
foreach ($params as $i => $param) {
/**
* @param array
* @param bool ignore install groups - for final removal of dupe packages
- * @static
*/
- function removeDuplicates(&$params, $ignoreGroups = false)
+ public static function removeDuplicates(&$params, $ignoreGroups = false)
{
$pnames = array();
foreach ($params as $i => $param) {
}
/**
- * @static
*/
- function mergeDependencies(&$params)
+ public static function mergeDependencies(&$params)
{
$bundles = $newparams = array();
foreach ($params as $i => $param) {
$obj->setExplicitState($s);
}
- $obj = &new PEAR_Downloader_Package($params[$i]->getDownloader());
+ $obj = new PEAR_Downloader_Package($params[$i]->getDownloader());
PEAR::pushErrorHandling(PEAR_ERROR_RETURN);
if (PEAR::isError($dir = $dl->getDownloadDir())) {
PEAR::popErrorHandling();
return $dir;
}
-
- $e = $obj->_fromFile($a = $dir . DIRECTORY_SEPARATOR . $file);
+ $a = $dir . DIRECTORY_SEPARATOR . $file;
+ $e = $obj->_fromFile($a);
PEAR::popErrorHandling();
if (PEAR::isError($e)) {
if (!isset($options['soft'])) {
continue;
}
- $j = &$obj;
- if (!PEAR_Downloader_Package::willDownload($j,
- array_merge($params, $newparams)) && !$param->isInstalled($j)) {
- $newparams[] = &$j;
+ if (!PEAR_Downloader_Package::willDownload($obj,
+ array_merge($params, $newparams)) && !$param->isInstalled($obj)) {
+ $newparams[] = $obj;
}
}
}
// convert the dependencies into PEAR_Downloader_Package objects for the next time around
$params[$i]->_downloadDeps = array();
foreach ($newdeps as $dep) {
- $obj = &new PEAR_Downloader_Package($params[$i]->getDownloader());
+ $obj = new PEAR_Downloader_Package($params[$i]->getDownloader());
if ($s = $params[$i]->explicitState()) {
$obj->setExplicitState($s);
}
}
}
- $j = &$obj;
- $newparams[] = &$j;
+ $newparams[] = $obj;
}
}
/**
- * @static
*/
- function willDownload($param, $params)
+ public static function willDownload($param, $params)
{
if (!is_array($params)) {
return false;
*/
function &getPackagefileObject(&$c, $d)
{
- $a = &new PEAR_PackageFile($c, $d);
+ $a = new PEAR_PackageFile($c, $d);
return $a;
}
if ($this->_rawpackagefile) {
require_once 'Archive/Tar.php';
- $tar = &new Archive_Tar($file);
+ $tar = new Archive_Tar($file);
$packagexml = $tar->extractInString('package2.xml');
if (!$packagexml) {
$packagexml = $tar->extractInString('package.xml');
return $info;
}
-}
\ No newline at end of file
+}