diff options
Diffstat (limited to 'pear/PEAR/Registry.php')
-rw-r--r-- | pear/PEAR/Registry.php | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/pear/PEAR/Registry.php b/pear/PEAR/Registry.php deleted file mode 100644 index 51b128d178..0000000000 --- a/pear/PEAR/Registry.php +++ /dev/null @@ -1,187 +0,0 @@ -<?php -// -// +----------------------------------------------------------------------+ -// | PHP Version 4 | -// +----------------------------------------------------------------------+ -// | Copyright (c) 1997-2002 The PHP Group | -// +----------------------------------------------------------------------+ -// | This source file is subject to version 2.02 of the PHP license, | -// | that is bundled with this package in the file LICENSE, and is | -// | available at through the world-wide-web at | -// | http://www.php.net/license/2_02.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +----------------------------------------------------------------------+ -// | Authors: Stig Bakken <ssb@fast.no> | -// | | -// +----------------------------------------------------------------------+ -// -// $Id$ - -require_once "System.php"; - -/** - * Administration class used to maintain the installed package database. - */ -class PEAR_Registry -{ - // {{{ properties - - var $statedir; - - // }}} - - // {{{ PEAR_Registry - - function PEAR_Registry($pear_install_dir = PEAR_INSTALL_DIR) - { - $this->statedir = $pear_install_dir . "/.registry"; - } - - // }}} - - // {{{ _assertStateDir() - - function _assertStateDir() - { - if (!@is_dir($this->statedir)) { - System::mkdir("-p {$this->statedir}"); - } - } - - // }}} - // {{{ _packageFileName() - - function _packageFileName($package) - { - return "{$this->statedir}/{$package}.reg"; - } - - // }}} - // {{{ _openPackageFile() - - function _openPackageFile($package, $mode) - { - $this->_assertStateDir(); - $file = $this->_packageFileName($package); - $fp = @fopen($file, $mode); - if (!$fp) { - return null; - } - return $fp; - } - - // }}} - // {{{ _closePackageFile() - - function _closePackageFile($fp) - { - fclose($fp); - } - - // }}} - - // {{{ packageExists() - - function packageExists($package) - { - return file_exists($this->_packageFileName($package)); - } - - // }}} - // {{{ addPackage() - - function addPackage($package, $info) - { - if ($this->packageExists($package)) { - return false; - } - $fp = $this->_openPackageFile($package, "w"); - if ($fp === null) { - return false; - } - fwrite($fp, serialize($info)); - $this->_closePackageFile($fp); - return true; - } - - // }}} - // {{{ packageInfo() - - function packageInfo($package = null, $key = null) - { - if ($package === null) { - return array_map(array($this, "packageInfo"), - $this->listPackages()); - } - $fp = $this->_openPackageFile($package, "r"); - if ($fp === null) { - return null; - } - $data = fread($fp, filesize($this->_packageFileName($package))); - $this->_closePackageFile($fp); - $data = unserialize($data); - if ($key === null) { - return $data; - } - if (isset($data[$key])) { - return $data[$key]; - } - return null; - } - - // }}} - // {{{ deletePackage() - - function deletePackage($package) - { - $file = $this->_packageFileName($package); - return @unlink($file); - } - - // }}} - // {{{ updatePackage() - - function updatePackage($package, $info, $merge = true) - { - $oldinfo = $this->packageInfo($package); - if (empty($oldinfo)) { - return false; - } - $fp = $this->_openPackageFile($package, "w"); - if ($fp === null) { - return false; - } - if ($merge) { - fwrite($fp, serialize(array_merge($oldinfo, $info))); - } else { - fwrite($fp, serialize($info)); - } - $this->_closePackageFile($fp); - return true; - } - - // }}} - // {{{ listPackages() - - function listPackages() - { - $pkglist = array(); - $dp = @opendir($this->statedir); - if (!$dp) { - return $pkglist; - } - while ($ent = readdir($dp)) { - if ($ent{0} == "." || substr($ent, -4) != ".reg") { - continue; - } - $pkglist[] = substr($ent, 0, -4); - } - return $pkglist; - } - - // }}} -} - -?>
\ No newline at end of file |