1: <?php
2: /**
3: * Magento
4: *
5: * NOTICE OF LICENSE
6: *
7: * This source file is subject to the Open Software License (OSL 3.0)
8: * that is bundled with this package in the file LICENSE.txt.
9: * It is also available through the world-wide-web at this URL:
10: * http://opensource.org/licenses/osl-3.0.php
11: * If you did not receive a copy of the license and are unable to
12: * obtain it through the world-wide-web, please send an email
13: * to license@magentocommerce.com so we can send you a copy immediately.
14: *
15: * DISCLAIMER
16: *
17: * Do not edit or add to this file if you wish to upgrade Magento to newer
18: * versions in the future. If you wish to customize Magento for your
19: * needs please refer to http://www.magentocommerce.com for more information.
20: *
21: * @category Mage
22: * @package Mage_Install
23: * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24: * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25: */
26:
27: require_once "Varien/Pear/Package.php";
28:
29: /**
30: * PEAR Packages Download Manager
31: *
32: * @category Mage
33: * @package Mage_Install
34: * @author Magento Core Team <core@magentocommerce.com>
35: */
36: class Mage_Install_Model_Installer_Pear extends Mage_Install_Model_Installer_Abstract
37: {
38: public function getPackages()
39: {
40: $packages = array(
41: 'pear/PEAR-stable',
42: 'connect.magentocommerce.com/core/Mage_Pear_Helpers',
43: 'connect.magentocommerce.com/core/Lib_ZF',
44: 'connect.magentocommerce.com/core/Lib_Varien',
45: 'connect.magentocommerce.com/core/Mage_All',
46: 'connect.magentocommerce.com/core/Interface_Frontend_Default',
47: 'connect.magentocommerce.com/core/Interface_Adminhtml_Default',
48: 'connect.magentocommerce.com/core/Interface_Install_Default',
49: );
50: return $packages;
51: }
52:
53: public function checkDownloads()
54: {
55: $pear = new Varien_Pear;
56: $pkg = new PEAR_PackageFile($pear->getConfig(), false);
57: $result = true;
58: foreach ($this->getPackages() as $package) {
59: $obj = $pkg->fromAnyFile($package, PEAR_VALIDATE_NORMAL);
60: if (PEAR::isError($obj)) {
61: $uinfo = $obj->getUserInfo();
62: if (is_array($uinfo)) {
63: foreach ($uinfo as $message) {
64: if (is_array($message)) {
65: $message = $message['message'];
66: }
67: Mage::getSingleton('install/session')->addError($message);
68: }
69: } else {
70: print_r($obj->getUserInfo());
71: #Mage::getSingleton('install/session')->addError($message);
72: }
73: $result = false;
74: }
75: }
76: return $result;
77: }
78: }
79: