function _deletePackageFiles($package, $channel = false, $backup = false)
    {
        if (!$channel) {
            $channel = 'pear.php.net';
        }

        if (!strlen($package)) {
            return $this->raiseError("No package to uninstall given");
        }

        if (strtolower($package) == 'pear' && $channel == 'pear.php.net') {
            // to avoid race conditions, include all possible needed files
            require_once 'PEAR/Task/Common.php';
            require_once 'PEAR/Task/Replace.php';
            require_once 'PEAR/Task/Unixeol.php';
            require_once 'PEAR/Task/Windowseol.php';
            require_once 'PEAR/PackageFile/v1.php';
            require_once 'PEAR/PackageFile/v2.php';
            require_once 'PEAR/PackageFile/Generator/v1.php';
            require_once 'PEAR/PackageFile/Generator/v2.php';
        }

        $filelist = $this->_registry->packageInfo($package, 'filelist', $channel);
        if ($filelist == null) {
            return $this->raiseError("$channel/$package not installed");
        }

        $ret = array();
        foreach ($filelist as $file => $props) {
            if (empty($props['installed_as'])) {
                continue;
            }

            $path = $props['installed_as'];
            if ($backup) {
                $this->addFileOperation('backup', array($path));
                $ret[] = $path;
            }

            $this->addFileOperation('delete', array($path));
        }

        if ($backup) {
            return $ret;
        }

        return true;
    }
function _deletePackageFiles($package, $channel = false, $backup = false)
    {
        if (!$channel) {
            $channel = 'pear.php.net';
        }

        if (!strlen($package)) {
            return $this->raiseError("No package to uninstall given");
        }

        if (strtolower($package) == 'pear' && $channel == 'pear.php.net') {
            // to avoid race conditions, include all possible needed files
            require_once 'PEAR/Task/Common.php';
            require_once 'PEAR/Task/Replace.php';
            require_once 'PEAR/Task/Unixeol.php';
            require_once 'PEAR/Task/Windowseol.php';
            require_once 'PEAR/PackageFile/v1.php';
            require_once 'PEAR/PackageFile/v2.php';
            require_once 'PEAR/PackageFile/Generator/v1.php';
            require_once 'PEAR/PackageFile/Generator/v2.php';
        }

        $filelist = $this->_registry->packageInfo($package, 'filelist', $channel);
        if ($filelist == null) {
            return $this->raiseError("$channel/$package not installed");
        }

        $ret = array();
        foreach ($filelist as $file => $props) {
            if (empty($props['installed_as'])) {
                continue;
            }

            $path = $props['installed_as'];
            if ($backup) {
                $this->addFileOperation('backup', array($path));
                $ret[] = $path;
            }

            $this->addFileOperation('delete', array($path));
        }

        if ($backup) {
            return $ret;
        }

        return true;
    }
function _deletePackageFiles ( $ package , $ channel = false , $ backup = false ) { if ( ! $ channel ) { $ channel = 'pear.php.net' ; } if ( ! strlen ( $ package ) ) { return $ this -> raiseError ( "No package to uninstall given" ) ; } if ( strtolower ( $ package ) == 'pear' && $ channel == 'pear.php.net' ) { // to avoid race conditions, include all possible needed files require_once 'PEAR/Task/Common.php' ; require_once 'PEAR/Task/Replace.php' ; require_once 'PEAR/Task/Unixeol.php' ; require_once 'PEAR/Task/Windowseol.php' ; require_once 'PEAR/PackageFile/v1.php' ; require_once 'PEAR/PackageFile/v2.php' ; require_once 'PEAR/PackageFile/Generator/v1.php' ; require_once 'PEAR/PackageFile/Generator/v2.php' ; } $ filelist = $ this -> _registry -> packageInfo ( $ package , 'filelist' , $ channel ) ; if ( $ filelist == null ) { return $ this -> raiseError ( "$channel/$package not installed" ) ; } $ ret = array ( ) ; foreach ( $ filelist as $ file => $ props ) { if ( empty ( $ props [ 'installed_as' ] ) ) { continue ; } $ path = $ props [ 'installed_as' ] ; if ( $ backup ) { $ this -> addFileOperation ( 'backup' , array ( $ path ) ) ; $ ret [ ] = $ path ; } $ this -> addFileOperation ( 'delete' , array ( $ path ) ) ; } if ( $ backup ) { return $ ret ; } return true ; }
Delete a package's installed files, does not remove empty directories.

@param string package name
@param string channel name
@param bool if true, then files are backed up first
@return bool TRUE on success, or a PEAR error on failure
@access protected
Delete a package s installed files does not remove empty directories .