00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 require_once "Varien/Pear/Package.php";
00028
00029
00030
00031
00032
00033
00034
00035
00036 class Mage_Install_Model_Installer_Pear extends Mage_Install_Model_Installer_Abstract
00037 {
00038 public function getPackages()
00039 {
00040 $packages = array(
00041 'pear/PEAR-stable',
00042 'connect.magentocommerce.com/core/Mage_Pear_Helpers',
00043 'connect.magentocommerce.com/core/Lib_ZF',
00044 'connect.magentocommerce.com/core/Lib_Varien',
00045 'connect.magentocommerce.com/core/Mage_All',
00046 'connect.magentocommerce.com/core/Interface_Frontend_Default',
00047 'connect.magentocommerce.com/core/Interface_Adminhtml_Default',
00048 'connect.magentocommerce.com/core/Interface_Install_Default',
00049 );
00050 return $packages;
00051 }
00052
00053 public function checkDownloads()
00054 {
00055 $pear = new Varien_Pear;
00056 $pkg = new PEAR_PackageFile($pear->getConfig(), false);
00057 $result = true;
00058 foreach ($this->getPackages() as $package) {
00059 $obj = $pkg->fromAnyFile($package, PEAR_VALIDATE_NORMAL);
00060 if (PEAR::isError($obj)) {
00061 $uinfo = $obj->getUserInfo();
00062 if (is_array($uinfo)) {
00063 foreach ($uinfo as $message) {
00064 if (is_array($message)) {
00065 $message = $message['message'];
00066 }
00067 Mage::getSingleton('install/session')->addError($message);
00068 }
00069 } else {
00070 print_r($obj->getUserInfo());
00071 #Mage::getSingleton('install/session')->addError($message);
00072 }
00073 $result = false;
00074 }
00075 }
00076 return $result;
00077 }
00078 }