function _fromFile(&$param)
    {
        $saveparam = $param;
        if (is_string($param)) {
            if (!@file_exists($param)) {
                $test = explode('#', $param);
                $group = array_pop($test);
                if (@file_exists(implode('#', $test))) {
                    $this->setGroup($group);
                    $param = implode('#', $test);
                    $this->_explicitGroup = true;
                }
            }

            if (@is_file($param)) {
                $this->_type = 'local';
                $options = $this->_downloader->getOptions();
                $pkg = &$this->getPackagefileObject($this->_config, $this->_downloader->_debug);
                PEAR::pushErrorHandling(PEAR_ERROR_RETURN);
                $pf = &$pkg->fromAnyFile($param, PEAR_VALIDATE_INSTALLING);
                PEAR::popErrorHandling();
                if (PEAR::isError($pf)) {
                    $this->_valid = false;
                    $param = $saveparam;
                    return $pf;
                }
                $this->_packagefile = &$pf;
                if (!$this->getGroup()) {
                    $this->setGroup('default'); // install the default dependency group
                }
                return $this->_valid = true;
            }
        }
        $param = $saveparam;
        return $this->_valid = false;
    }
function _fromFile(&$param)
    {
        $saveparam = $param;
        if (is_string($param)) {
            if (!@file_exists($param)) {
                $test = explode('#', $param);
                $group = array_pop($test);
                if (@file_exists(implode('#', $test))) {
                    $this->setGroup($group);
                    $param = implode('#', $test);
                    $this->_explicitGroup = true;
                }
            }

            if (@is_file($param)) {
                $this->_type = 'local';
                $options = $this->_downloader->getOptions();
                $pkg = &$this->getPackagefileObject($this->_config, $this->_downloader->_debug);
                PEAR::pushErrorHandling(PEAR_ERROR_RETURN);
                $pf = &$pkg->fromAnyFile($param, PEAR_VALIDATE_INSTALLING);
                PEAR::popErrorHandling();
                if (PEAR::isError($pf)) {
                    $this->_valid = false;
                    $param = $saveparam;
                    return $pf;
                }
                $this->_packagefile = &$pf;
                if (!$this->getGroup()) {
                    $this->setGroup('default'); // install the default dependency group
                }
                return $this->_valid = true;
            }
        }
        $param = $saveparam;
        return $this->_valid = false;
    }
function _fromFile ( & $ param ) { $ saveparam = $ param ; if ( is_string ( $ param ) ) { if ( ! @ file_exists ( $ param ) ) { $ test = explode ( '#' , $ param ) ; $ group = array_pop ( $ test ) ; if ( @ file_exists ( implode ( '#' , $ test ) ) ) { $ this -> setGroup ( $ group ) ; $ param = implode ( '#' , $ test ) ; $ this -> _explicitGroup = true ; } } if ( @ is_file ( $ param ) ) { $ this -> _type = 'local' ; $ options = $ this -> _downloader -> getOptions ( ) ; $ pkg = & $ this -> getPackagefileObject ( $ this -> _config , $ this -> _downloader -> _debug ) ; PEAR :: pushErrorHandling ( PEAR_ERROR_RETURN ) ; $ pf = & $ pkg -> fromAnyFile ( $ param , PEAR_VALIDATE_INSTALLING ) ; PEAR :: popErrorHandling ( ) ; if ( PEAR :: isError ( $ pf ) ) { $ this -> _valid = false ; $ param = $ saveparam ; return $ pf ; } $ this -> _packagefile = & $ pf ; if ( ! $ this -> getGroup ( ) ) { $ this -> setGroup ( 'default' ) ; // install the default dependency group } return $ this -> _valid = true ; } } $ param = $ saveparam ; return $ this -> _valid = false ; }
This will retrieve from a local file if possible, and parse out
a group name as well.  The original parameter will be modified to reflect this.
@param string|array can be a parsed package name as well
@access private
This will retrieve from a local file if possible and parse out a group name as well . The original parameter will be modified to reflect this .