diff options
author | Ondřej Surý <ondrej@sury.org> | 2010-10-21 08:52:46 +0200 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2010-10-21 08:52:46 +0200 |
commit | 01fcdff3849c3691d9aaeaab735846ab6d8895ca (patch) | |
tree | 6460876d356113fa7053df36f2aa00baa7db24a9 /pear | |
parent | 855a09f4eded707941180c9d90acd17c25e29447 (diff) | |
download | php-01fcdff3849c3691d9aaeaab735846ab6d8895ca.tar.gz |
Imported Upstream version 5.3.3upstream/5.3.3
Diffstat (limited to 'pear')
-rw-r--r-- | pear/install-pear-nozlib.phar | 7337 |
1 files changed, 3640 insertions, 3697 deletions
diff --git a/pear/install-pear-nozlib.phar b/pear/install-pear-nozlib.phar index 33424482c..59b7cfe8a 100644 --- a/pear/install-pear-nozlib.phar +++ b/pear/install-pear-nozlib.phar @@ -1234,14 +1234,13 @@ if (extension_loaded('phar')) {if (isset($_SERVER) && isset($_SERVER['REQUEST_UR require_once 'phar://install-pear-nozlib.phar/index.php'; -__HALT_COMPILER();ÿ
-m -2 -2 - - -Žm - +__HALT_COMPILER();ÿ
+2 +2 + + +ŸA˜m + /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ /** @@ -1279,7 +1278,7 @@ m * @author Vincent Blavet <vincent@phpconcept.net> * @copyright 1997-2008 The Authors * @license http://www.opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Tar.php 287963 2009-09-02 08:18:55Z mrook $ + * @version CVS: $Id: Tar.php 295988 2010-03-09 08:39:37Z mrook $ * @link http://pear.php.net/package/Archive_Tar */ @@ -1293,7 +1292,7 @@ define ('ARCHIVE_TAR_END_BLOCK', pack("a512", '')); * Creates a (compressed) Tar archive * * @author Vincent Blavet <vincent@phpconcept.net> -* @version $Revision: 287963 $ +* @version $Revision: 295988 $ * @license http://www.opensource.org/licenses/bsd-license.php New BSD License * @package Archive_Tar */ @@ -1329,6 +1328,11 @@ class Archive_Tar extends PEAR */ var $_temp_tarname=''; + /** + * @var string regular expression for ignoring files or directories + */ + var $_ignore_regexp=''; + // {{{ constructor /** * Archive_Tar Class constructor. This flavour of the constructor only @@ -1832,6 +1836,36 @@ class Archive_Tar extends PEAR } // }}} + // {{{ setIgnoreRegexp() + /** + * This method sets the regular expression for ignoring files and directories + * at import, for example: + * $arch->setIgnoreRegexp("#CVS|\.svn#"); + * @param string $regexp regular expression defining which files or directories to ignore + * @access public + */ + function setIgnoreRegexp($regexp) + { + $this->_ignore_regexp = $regexp; + } + // }}} + + // {{{ setIgnoreList() + /** + * This method sets the regular expression for ignoring all files and directories + * matching the filenames in the array list at import, for example: + * $arch->setIgnoreList(array('CVS', '.svn', 'bin/tool')); + * @param array $list a list of file or directory names to ignore + * @access public + */ + function setIgnoreList($list) + { + $regexp = str_replace(array('#', '.', '^', '$'), array('\#', '\.', '\^', '\$'), $list); + $regexp = '#/'.join('$|/', $list).'#'; + $this->setIgnoreRegexp($regexp); + } + // }}} + // {{{ _error() function _error($p_message) { @@ -2073,7 +2107,7 @@ class Archive_Tar extends PEAR for ($i=0; $i<$p_len; $i++) $this->_readBlock(); } else if ($this->_compress_type == 'none') - @fseek($this->_file, ftell($this->_file)+($p_len*512)); + @fseek($this->_file, $p_len*512, SEEK_CUR); else $this->_error('Unknown or missing compression type (' .$this->_compress_type.')'); @@ -2125,6 +2159,12 @@ class Archive_Tar extends PEAR if ($v_filename == '') continue; + // ----- ignore files and directories matching the ignore regular expression + if ($this->_ignore_regexp && preg_match($this->_ignore_regexp, '/'.$v_filename)) { + $this->_warning("File '$v_filename' ignored"); + continue; + } + if (!file_exists($v_filename)) { $this->_warning("File '$v_filename' does not exist"); continue; @@ -3109,8 +3149,8 @@ class Archive_Tar extends PEAR } ?> -package2.xml -<package packagerversion="1.8.0RC1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd"> +package.xml +<package packagerversion="1.9.0" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd"> <name>Archive_Tar</name> <channel>pear.php.net</channel> <summary>Tar file management class</summary> @@ -3119,27 +3159,33 @@ It supports creating, listing, extracting and adding to tar files. Gzip support is available if PHP has the zlib extension built-in or loaded. Bz2 compression is also supported with the bz2 extension loaded.</description> <lead> - <name>Gregory Beaver</name> - <user>cellog</user> - <email>cellog@php.net</email> - <active>yes</active> - </lead> - <lead> <name>Vincent Blavet</name> <user>vblavet</user> <email>vincent@phpconcept.net</email> <active>no</active> </lead> + <lead> + <name>Greg Beaver</name> + <user>cellog</user> + <email>greg@chiaraquartet.net</email> + <active>no</active> + </lead> + <lead> + <name>Michiel Rook</name> + <user>mrook</user> + <email>mrook@php.net</email> + <active>yes</active> + </lead> <helper> <name>Stig Bakken</name> <user>ssb</user> <email>stig@php.net</email> <active>no</active> </helper> - <date>2009-03-27</date> - <time>02:37:57</time> + <date>2010-04-26</date> + <time>09:22:35</time> <version> - <release>1.3.3</release> + <release>1.3.7</release> <api>1.3.1</api> </version> <stability> @@ -3148,24 +3194,19 @@ loaded. Bz2 compression is also supported with the bz2 extension loaded.</descri </stability> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> -Change the license to New BSD license - - minor bugfix release - * fix Bug #9921 compression with bzip2 fails [cellog] - * fix Bug #11594 _readLongHeader leaves 0 bytes in filename [jamessas] - * fix Bug #11769 Incorrect symlink handing [fajar99] +PEAR compatibility update </notes> <contents> <dir name="/"> - <file baseinstalldir="/" md5sum="d6c6633566e7484aff188f798529b061" name="Archive/Tar.php" role="php" /> + <file baseinstalldir="/" md5sum="7406d6ed69f7c24506c93e02b0cdf839" name="Archive/Tar.php" role="php" /> <file baseinstalldir="/" md5sum="29b03715377b18b1fafcff98a99cc9a7" name="docs/Archive_Tar.txt" role="doc" /> </dir> </contents> <compatible> <name>PEAR</name> <channel>pear.php.net</channel> - <min>1.4.0</min> - <max>1.5.0RC2</max> + <min>1.8.0</min> + <max>1.9.10</max> </compatible> <dependencies> <required> @@ -3181,6 +3222,76 @@ Change the license to New BSD license <changelog> <release> <version> + <release>1.3.6</release> + <api>1.3.1</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <date>2010-03-09</date> + <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> + <notes> +* Fix Bug #16963: extractList can't extract zipped files from big tar [mrook] + * Implement Feature #4013: Ignoring files and directories on creating an archive. [mrook] + </notes> + </release> + <release> + <version> + <release>1.3.5</release> + <api>1.3.1</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <date>2009-12-31</date> + <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> + <notes> +* Fix Bug #16958: Update 'compatible' tag in package.xml [mrook] + </notes> + </release> + <release> + <version> + <release>1.3.4</release> + <api>1.3.1</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <date>2009-12-30</date> + <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> + <notes> +* Fix Bug #11871: wrong result of ::listContent() if filename begins or ends with space [mrook] + * Fix Bug #12462: invalid tar magic [mrook] + * Fix Bug #13918: Long filenames may get up to 511 0x00 bytes appended on read [mrook] + * Fix Bug #16202: Bogus modification times [mrook] + * Implement Feature #16212: Die is not exception [mrook] + </notes> + </release> + <release> + <version> + <release>1.3.3</release> + <api>1.3.1</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <date>2009-03-27</date> + <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> + <notes> +Change the license to New BSD license + + minor bugfix release + * fix Bug #9921 compression with bzip2 fails [cellog] + * fix Bug #11594 _readLongHeader leaves 0 bytes in filename [jamessas] + * fix Bug #11769 Incorrect symlink handing [fajar99] + </notes> + </release> + <release> + <version> <release>1.3.2</release> <api>1.3.1</api> </version> @@ -3356,7 +3467,7 @@ Windows bugfix: used wrong directory separators </release> </changelog> </package> - + /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ /** @@ -3394,7 +3505,7 @@ Windows bugfix: used wrong directory separators * @author Vincent Blavet <vincent@phpconcept.net> * @copyright 1997-2008 The Authors * @license http://www.opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Tar.php,v 1.43 2008/10/30 17:58:42 dufuz Exp $ + * @version CVS: $Id: Tar.php 295988 2010-03-09 08:39:37Z mrook $ * @link http://pear.php.net/package/Archive_Tar */ @@ -3408,7 +3519,7 @@ define ('ARCHIVE_TAR_END_BLOCK', pack("a512", '')); * Creates a (compressed) Tar archive * * @author Vincent Blavet <vincent@phpconcept.net> -* @version $Revision: 1.43 $ +* @version $Revision: 295988 $ * @license http://www.opensource.org/licenses/bsd-license.php New BSD License * @package Archive_Tar */ @@ -3444,6 +3555,11 @@ class Archive_Tar extends PEAR */ var $_temp_tarname=''; + /** + * @var string regular expression for ignoring files or directories + */ + var $_ignore_regexp=''; + // {{{ constructor /** * Archive_Tar Class constructor. This flavour of the constructor only @@ -3499,7 +3615,7 @@ class Archive_Tar extends PEAR $this->_compress = true; $this->_compress_type = 'bz2'; } else { - die("Unsupported compression type '$p_compress'\n". + $this->_error("Unsupported compression type '$p_compress'\n". "Supported types are 'gz' and 'bz2'.\n"); return false; } @@ -3515,7 +3631,7 @@ class Archive_Tar extends PEAR PEAR::loadExtension($extname); } if (!extension_loaded($extname)) { - die("The extension '$extname' couldn't be found.\n". + $this->_error("The extension '$extname' couldn't be found.\n". "Please make sure your version of PHP was built ". "with '$extname' support.\n"); return false; @@ -3947,6 +4063,36 @@ class Archive_Tar extends PEAR } // }}} + // {{{ setIgnoreRegexp() + /** + * This method sets the regular expression for ignoring files and directories + * at import, for example: + * $arch->setIgnoreRegexp("#CVS|\.svn#"); + * @param string $regexp regular expression defining which files or directories to ignore + * @access public + */ + function setIgnoreRegexp($regexp) + { + $this->_ignore_regexp = $regexp; + } + // }}} + + // {{{ setIgnoreList() + /** + * This method sets the regular expression for ignoring all files and directories + * matching the filenames in the array list at import, for example: + * $arch->setIgnoreList(array('CVS', '.svn', 'bin/tool')); + * @param array $list a list of file or directory names to ignore + * @access public + */ + function setIgnoreList($list) + { + $regexp = str_replace(array('#', '.', '^', '$'), array('\#', '\.', '\^', '\$'), $list); + $regexp = '#/'.join('$|/', $list).'#'; + $this->setIgnoreRegexp($regexp); + } + // }}} + // {{{ _error() function _error($p_message) { @@ -4188,7 +4334,7 @@ class Archive_Tar extends PEAR for ($i=0; $i<$p_len; $i++) $this->_readBlock(); } else if ($this->_compress_type == 'none') - @fseek($this->_file, ftell($this->_file)+($p_len*512)); + @fseek($this->_file, $p_len*512, SEEK_CUR); else $this->_error('Unknown or missing compression type (' .$this->_compress_type.')'); @@ -4240,6 +4386,12 @@ class Archive_Tar extends PEAR if ($v_filename == '') continue; + // ----- ignore files and directories matching the ignore regular expression + if ($this->_ignore_regexp && preg_match($this->_ignore_regexp, '/'.$v_filename)) { + $this->_warning("File '$v_filename' ignored"); + continue; + } + if (!file_exists($v_filename)) { $this->_warning("File '$v_filename' does not exist"); continue; @@ -4383,34 +4535,44 @@ class Archive_Tar extends PEAR } $v_info = lstat($p_filename); - $v_uid = sprintf("%6s ", DecOct($v_info[4])); - $v_gid = sprintf("%6s ", DecOct($v_info[5])); - $v_perms = sprintf("%6s ", DecOct($v_info['mode'])); + $v_uid = sprintf("%07s", DecOct($v_info[4])); + $v_gid = sprintf("%07s", DecOct($v_info[5])); + $v_perms = sprintf("%07s", DecOct($v_info['mode'] & 000777)); - $v_mtime = sprintf("%11s", DecOct($v_info['mode'])); + $v_mtime = sprintf("%011s", DecOct($v_info['mtime'])); $v_linkname = ''; if (@is_link($p_filename)) { $v_typeflag = '2'; $v_linkname = readlink($p_filename); - $v_size = sprintf("%11s ", DecOct(0)); + $v_size = sprintf("%011s", DecOct(0)); } elseif (@is_dir($p_filename)) { $v_typeflag = "5"; - $v_size = sprintf("%11s ", DecOct(0)); + $v_size = sprintf("%011s", DecOct(0)); } else { - $v_typeflag = ''; + $v_typeflag = '0'; clearstatcache(); - $v_size = sprintf("%11s ", DecOct($v_info['size'])); + $v_size = sprintf("%011s", DecOct($v_info['size'])); } - $v_magic = ''; - - $v_version = ''; - - $v_uname = ''; + $v_magic = 'ustar '; - $v_gname = ''; + $v_version = ' '; + + if (function_exists('posix_getpwuid')) + { + $userinfo = posix_getpwuid($v_info[4]); + $groupinfo = posix_getgrgid($v_info[5]); + + $v_uname = $userinfo['name']; + $v_gname = $groupinfo['name']; + } + else + { + $v_uname = ''; + $v_gname = ''; + } $v_devmajor = ''; @@ -4418,7 +4580,7 @@ class Archive_Tar extends PEAR $v_prefix = ''; - $v_binary_data_first = pack("a100a8a8a8a12A12", + $v_binary_data_first = pack("a100a8a8a8a12a12", $v_reduce_filename, $v_perms, $v_uid, $v_gid, $v_size, $v_mtime); $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12", @@ -4442,7 +4604,7 @@ class Archive_Tar extends PEAR $this->_writeBlock($v_binary_data_first, 148); // ----- Write the calculated checksum - $v_checksum = sprintf("%6s ", DecOct($v_checksum)); + $v_checksum = sprintf("%06s ", DecOct($v_checksum)); $v_binary_data = pack("a8", $v_checksum); $this->_writeBlock($v_binary_data, 8); @@ -4465,27 +4627,37 @@ class Archive_Tar extends PEAR } if ($p_type == "5") { - $v_size = sprintf("%11s ", DecOct(0)); + $v_size = sprintf("%011s", DecOct(0)); } else { - $v_size = sprintf("%11s ", DecOct($p_size)); + $v_size = sprintf("%011s", DecOct($p_size)); } - $v_uid = sprintf("%6s ", DecOct($p_uid)); - $v_gid = sprintf("%6s ", DecOct($p_gid)); - $v_perms = sprintf("%6s ", DecOct($p_perms)); + $v_uid = sprintf("%07s", DecOct($p_uid)); + $v_gid = sprintf("%07s", DecOct($p_gid)); + $v_perms = sprintf("%07s", DecOct($p_perms & 000777)); $v_mtime = sprintf("%11s", DecOct($p_mtime)); $v_linkname = ''; - $v_magic = ''; - - $v_version = ''; - - $v_uname = ''; + $v_magic = 'ustar '; - $v_gname = ''; + $v_version = ' '; + if (function_exists('posix_getpwuid')) + { + $userinfo = posix_getpwuid($p_uid); + $groupinfo = posix_getgrgid($p_gid); + + $v_uname = $userinfo['name']; + $v_gname = $groupinfo['name']; + } + else + { + $v_uname = ''; + $v_gname = ''; + } + $v_devmajor = ''; $v_devminor = ''; @@ -4516,7 +4688,7 @@ class Archive_Tar extends PEAR $this->_writeBlock($v_binary_data_first, 148); // ----- Write the calculated checksum - $v_checksum = sprintf("%6s ", DecOct($v_checksum)); + $v_checksum = sprintf("%06s ", DecOct($v_checksum)); $v_binary_data = pack("a8", $v_checksum); $this->_writeBlock($v_binary_data, 8); @@ -4550,7 +4722,7 @@ class Archive_Tar extends PEAR $v_prefix = ''; - $v_binary_data_first = pack("a100a8a8a8a12A12", + $v_binary_data_first = pack("a100a8a8a8a12a12", '././@LongLink', 0, 0, 0, $v_size, 0); $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12", $v_typeflag, $v_linkname, $v_magic, @@ -4573,7 +4745,7 @@ class Archive_Tar extends PEAR $this->_writeBlock($v_binary_data_first, 148); // ----- Write the calculated checksum - $v_checksum = sprintf("%6s ", DecOct($v_checksum)); + $v_checksum = sprintf("%06s ", DecOct($v_checksum)); $v_binary_data = pack("a8", $v_checksum); $this->_writeBlock($v_binary_data, 8); @@ -4641,7 +4813,7 @@ class Archive_Tar extends PEAR } // ----- Extract the properties - $v_header['filename'] = trim($v_data['filename']); + $v_header['filename'] = $v_data['filename']; if ($this->_maliciousFilename($v_header['filename'])) { $this->_error('Malicious .tar detected, file "' . $v_header['filename'] . '" will not install in desired directory tree'); @@ -4701,7 +4873,7 @@ class Archive_Tar extends PEAR } if (($v_header['size'] % 512) != 0) { $v_content = $this->_readBlock(); - $v_filename .= $v_content; + $v_filename .= trim($v_content); } // ----- Read the next header @@ -5204,7 +5376,7 @@ class Archive_Tar extends PEAR } ?> - + =================================== Last update : 2001-08-15 @@ -5665,162 +5837,7 @@ How it works : Go through the archive and extract only the files present in the list. - -<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> -<package version="1.0" packagerversion="1.8.0RC1"> - <name>Archive_Tar</name> - <summary>Tar file management class</summary> - <description>This class provides handling of tar files in PHP. -It supports creating, listing, extracting and adding to tar files. -Gzip support is available if PHP has the zlib extension built-in or -loaded. Bz2 compression is also supported with the bz2 extension loaded. - </description> - <maintainers> - <maintainer> - <user>cellog</user> - <name>Gregory Beaver</name> - <email>cellog@php.net</email> - <role>lead</role> - </maintainer> - <maintainer> - <user>vblavet</user> - <name>Vincent Blavet</name> - <email>vincent@phpconcept.net</email> - <role>lead</role> - </maintainer> - <maintainer> - <user>ssb</user> - <name>Stig Bakken</name> - <email>stig@php.net</email> - <role>helper</role> - </maintainer> - </maintainers> - <release> - <version>1.3.3</version> - <date>2009-03-27</date> - <license>New BSD License</license> - <state>stable</state> - <notes>minor bugfix release -* fix Bug #9921 compression with bzip2 fails [cellog] -* fix Bug #11594 _readLongHeader leaves 0 bytes in filename [jamessas] -* fix Bug #11769 Incorrect symlink handing [fajar99] - </notes> - <provides type="class" name="Archive_Tar" /> - <provides type="function" name="Archive_Tar::create" /> - <provides type="function" name="Archive_Tar::add" /> - <provides type="function" name="Archive_Tar::extract" /> - <provides type="function" name="Archive_Tar::listContent" /> - <provides type="function" name="Archive_Tar::createModify" /> - <provides type="function" name="Archive_Tar::addModify" /> - <provides type="function" name="Archive_Tar::addString" /> - <provides type="function" name="Archive_Tar::extractModify" /> - <provides type="function" name="Archive_Tar::extractInString" /> - <provides type="function" name="Archive_Tar::extractList" /> - <provides type="function" name="Archive_Tar::setAttribute" /> - <filelist> - <file role="php" baseinstalldir="/" name="Archive/Tar.php"/> - <file role="doc" baseinstalldir="/" name="docs/Archive_Tar.txt"/> - </filelist> - </release> - <changelog> - <release> - <version>1.3.3</version> - <date>2007-08-25</date> - <license>PHP License</license> - <state>stable</state> - </release> - <release> - <version>1.3.2</version> - <date>2007-01-03</date> - <license>PHP License</license> - <state>stable</state> - <notes>Correct Bug #4016 -Remove duplicate remove error display with '@' -Correct Bug #3909 : Check existence of OS_WINDOWS constant -Correct Bug #5452 fix for "lone zero block" when untarring packages -Change filemode (from pear-core/Archive/Tar.php v.1.21) -Correct Bug #6486 Can not extract symlinks -Correct Bug #6933 Archive_Tar (Tar file management class) Directory traversal -Correct Bug #8114 Files added on-the-fly not storing date -Correct Bug #9352 Bug on _dirCheck function over nfs path - </notes> - </release> - <release> - <version>1.3.1</version> - <date>2005-03-17</date> - <license>PHP License</license> - <state>stable</state> - <notes>Correct Bug #3855 - </notes> - </release> - <release> - <version>1.3.0</version> - <date>2005-03-06</date> - <state>stable</state> - <notes>Bugs correction (2475, 2488, 2135, 2176) - </notes> - </release> - <release> - <version>1.2</version> - <date>2004-05-08</date> - <state>stable</state> - <notes>Add support for other separator than the space char and bug - correction - </notes> - </release> - <release> - <version>1.1</version> - <date>2003-05-28</date> - <state>stable</state> - <notes>* Add support for BZ2 compression -* Add support for add and extract without using temporary files : methods addString() and extractInString() - </notes> - </release> - <release> - <version>1.0</version> - <date>2003-01-24</date> - <state>stable</state> - <notes>Change status to stable - </notes> - </release> - <release> - <version>0.10-b1</version> - <date>2003-01-08</date> - <state>beta</state> - <notes>Add support for long filenames (greater than 99 characters) - </notes> - </release> - <release> - <version>0.9</version> - <date>2002-05-27</date> - <state>stable</state> - <notes>Auto-detect gzip'ed files - </notes> - </release> - <release> - <version>0.4</version> - <date>2002-05-20</date> - <state>stable</state> - <notes>Windows bugfix: use forward slashes inside archives - </notes> - </release> - <release> - <version>0.2</version> - <date>2002-02-18</date> - <state>stable</state> - <notes>From initial commit to stable - </notes> - </release> - <release> - <version>0.3</version> - <date>2002-04-13</date> - <state>stable</state> - <notes>Windows bugfix: used wrong directory separators - </notes> - </release> - </changelog> -</package> - + /* vim: set expandtab tabstop=4 shiftwidth=4: */ /** * Color.php @@ -6658,11 +6675,11 @@ if (!$a) { } $force = false; -$install_files = array('Archive_Tar' => 'phar://install-pear-nozlib.phar/Archive_Tar-1.3.3.tar', +$install_files = array('Archive_Tar' => 'phar://install-pear-nozlib.phar/Archive_Tar-1.3.7.tar', 'Console_Getopt' => 'phar://install-pear-nozlib.phar/Console_Getopt-1.2.3.tar', -'Structures_Graph' => 'phar://install-pear-nozlib.phar/Structures_Graph-1.0.2.tar', +'Structures_Graph' => 'phar://install-pear-nozlib.phar/Structures_Graph-1.0.3.tar', 'XML_Util' => 'phar://install-pear-nozlib.phar/XML_Util-1.2.1.tar', -'PEAR' => 'phar://install-pear-nozlib.phar/PEAR-1.9.0.tar', +'PEAR' => 'phar://install-pear-nozlib.phar/PEAR-1.9.1.tar', ); array_shift($argv); $debug = false; @@ -7012,7 +7029,7 @@ foreach ($install_files as $package => $instfile) { * @author Gregory Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -7260,8 +7277,8 @@ class OS_Guess * indent-tabs-mode: nil * c-basic-offset: 4 * End: - */package2.xml -<package packagerversion="1.9.0RC4" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd"> + */package2.xml +<package packagerversion="1.9.1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd"> <name>PEAR</name> <channel>pear.php.net</channel> <summary>PEAR Base System</summary> @@ -7343,11 +7360,11 @@ class OS_Guess <email>mj@php.net</email> <active>no</active> </helper> - <date>2009-09-03</date> - <time>13:13:10</time> + <date>2010-05-26</date> + <time>20:52:38</time> <version> - <release>1.9.0</release> - <api>1.9.0</api> + <release>1.9.1</release> + <api>1.9.1</api> </version> <stability> <release>stable</release> @@ -7355,116 +7372,127 @@ class OS_Guess </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> -* Fix Bug #16547: The phar for PEAR installer uses ereg() which is deprecated [dufuz] +* svntag improvements, tag package files passed into the command and better directory checks [dufuz] +* rely on Structures_Graph minimum version instead of recommended version [saltybeagle] +* Fix Bug #12613: running go-pear.phar from C:\ fails [dufuz] +* Fix Bug #14841: Installing pear into directory with space fails [dufuz] +* Fix Bug #16644: pear.bat returns syntax error when parenthesis are in install path. [dufuz] [patch by bwaters (Bryan Waters)] +* Fix Bug #16767: Use of Depreciated HTML Attributes in the Exception class [dufuz] [patch by fuhrysteve (Stephen J. Fuhry)] +* Fix Bug #16864: "pear list-upgrades -i" issues E_WARNINGS [dufuz] [patch by rquadling (Richard Quadling)] +* Fix Bug #17220: command `pear help` outputs to stderr instead of stdout [dufuz] +* Fix Bug #17234: channel-discover adds port to HTTP Host header [dufuz] +* Fix Bug #17292: Code Coverage in PEAR_RunTest does not work with namespaces [sebastian] +* Fix Bug #17359: loadExtension() fails over missing dl() when used in multithread env [dufuz] +* Fix Bug #17378: pear info $package fails if directory with that name exists [dufuz] </notes> <contents> <dir name="/"> - <file md5sum="f063d5b84d03538b85f05cde9aae8037" name="OS/Guess.php" role="php"> + <file md5sum="3d9c9883c2a7c0747155dada2f26be37" name="OS/Guess.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="e839d4a327219441507bd5de7409ee5b" name="PEAR/ChannelFile/Parser.php" role="php"> + <file md5sum="c530153bde718e2028c5ee0edcde919f" name="PEAR/ChannelFile/Parser.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="8fd87e64002e11fd86eb2f3fbfee6599" name="PEAR/Command/Auth.xml" role="php" /> - <file md5sum="7d3f1696902faf5442059393e541ad2d" name="PEAR/Command/Auth.php" role="php"> + <file md5sum="2d274a61760df9acf36f88d2cdcbc5bf" name="PEAR/Command/Auth.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="73602fd7f051eaf8d37452d0e3063bdb" name="PEAR/Command/Build.xml" role="php" /> - <file md5sum="99e6dae6555a272f16f1cf2265d221c0" name="PEAR/Command/Build.php" role="php"> + <file md5sum="1e823a289a01f5c817ac4eff1296c50d" name="PEAR/Command/Build.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="6d5aab4d4308c3005b5f584c7783a031" name="PEAR/Command/Channels.xml" role="php" /> - <file md5sum="63a395cf6c752e8121e1fa2ae1f9ac28" name="PEAR/Command/Channels.php" role="php"> + <file md5sum="4a4e8ca23b0faa4f84c140e6b5258d33" name="PEAR/Command/Channels.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="dc4961036d632859bb1bda5e32a8c346" name="PEAR/Command/Common.php" role="php"> + <file md5sum="4ce219083b34cde9e2a5141488f39335" name="PEAR/Command/Common.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="91f189cb9423b5e87ee0abc5ea1a2be3" name="PEAR/Command/Config.xml" role="php" /> - <file md5sum="f0c106b4ba5e12236c59b161b75f4182" name="PEAR/Command/Config.php" role="php"> + <file md5sum="47bc731edd8c51466d075789cd8135f3" name="PEAR/Command/Config.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="2db0386b865d3f9a29f9126728722ece" name="PEAR/Command/Install.xml" role="php" /> - <file md5sum="034593b2194bf8feb689722833e1c9b0" name="PEAR/Command/Install.php" role="php"> + <file md5sum="a4507a5aa3ee2b63a89e8aec734ed634" name="PEAR/Command/Install.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="5cb62a04c0a268f4edd64a49a3895c92" name="PEAR/Command/Mirror.xml" role="php" /> - <file md5sum="8bc9265e1046ec67a85571557515bb1b" name="PEAR/Command/Mirror.php" role="php"> + <file md5sum="9019af267ac15bce27aa81f1839f9bc6" name="PEAR/Command/Mirror.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="6c3061a594644e49b0648798dce6de32" name="PEAR/Command/Package.xml" role="php" /> - <file md5sum="2d4e5f5200fdbdbb5f1c2bf0a27ab754" name="PEAR/Command/Package.php" role="php"> + <file md5sum="942478fbb01914eec4e86e8f8f6b5f81" name="PEAR/Command/Package.php" role="php"> <tasks:replace from="@DATA-DIR@" to="data_dir" type="pear-config" /> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="28dc842ea725d8787b9f9c3dbca5aa22" name="PEAR/Command/Pickle.xml" role="php" /> - <file md5sum="6a794c2a0545fff7300217dd6e133c17" name="PEAR/Command/Pickle.php" role="php"> + <file md5sum="a9cdb1e95f4811b94b65c8150c009351" name="PEAR/Command/Pickle.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="49b046cfc14747f0365e02e9c3f0e6dc" name="PEAR/Command/Registry.xml" role="php" /> - <file md5sum="567687617b7f406bd1ba55e37060edf8" name="PEAR/Command/Registry.php" role="php"> + <file md5sum="7bea09a9680753183ffaa6b5cf8489d9" name="PEAR/Command/Registry.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="29c02e823879b4e3e291f6b36fb339f1" name="PEAR/Command/Remote.xml" role="php" /> - <file md5sum="374366b6f361c401ae22edc5b76b7a90" name="PEAR/Command/Remote.php" role="php"> + <file md5sum="7ad01351a46c780f5b2b3ca46b7f2b7e" name="PEAR/Command/Remote.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="a50c32015005e0761cc3b04679b29ed0" name="PEAR/Command/Test.xml" role="php" /> - <file md5sum="01252c8d6c005f53f250344bb4453a59" name="PEAR/Command/Test.php" role="php"> + <file md5sum="b10de7e19df1b028b45f0fd0cef3cea2" name="PEAR/Command/Test.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="73a70ef0ac6d521fcbc972de10341bbe" name="PEAR/Downloader/Package.php" role="php"> + <file md5sum="035af3c0e87018b816c77de4613dad7e" name="PEAR/Downloader/Package.php" role="php"> <tasks:replace from="@PEAR-VER@" to="version" type="package-info" /> </file> - <file md5sum="e613fdf2c8090bf8f7289dbeaa06a97c" name="PEAR/Frontend/CLI.php" role="php"> + <file md5sum="2ad448f52de31562cb1aa6d4544c9a21" name="PEAR/Frontend/CLI.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="d3c3a546ced9a12889eda5e368583944" name="PEAR/Installer/Role/Common.php" role="php"> + <file md5sum="419793dcb9405b83c715b46991957170" name="PEAR/Installer/Role/Common.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="d8c62e6275e3aaa7784290912406092c" name="PEAR/Installer/Role/Cfg.xml" role="php" /> - <file md5sum="a3bb43296f00bd5459a0fbf8314f8917" name="PEAR/Installer/Role/Cfg.php" role="php"> + <file md5sum="71ee455e864d6ab1caf127b093cf69b9" name="PEAR/Installer/Role/Cfg.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="89a4a2a286e842d45a98974f40a0565c" name="PEAR/Installer/Role/Data.xml" role="php" /> - <file md5sum="2cb74a7dd5fdfce5b78717e1847d463c" name="PEAR/Installer/Role/Data.php" role="php"> + <file md5sum="c328326a8aa119281006a547ac6851fe" name="PEAR/Installer/Role/Data.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="b1ce0fe105251c3b75209d6518ee69ac" name="PEAR/Installer/Role/Doc.xml" role="php" /> - <file md5sum="5c0b53e95ae25306da82cf6dd87da4dc" name="PEAR/Installer/Role/Doc.php" role="php"> + <file md5sum="8831a5742304fb11b12a7106ca9aae48" name="PEAR/Installer/Role/Doc.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="af71c0ad42d16a323afe24a4f884ef15" name="PEAR/Installer/Role/Ext.xml" role="php" /> - <file md5sum="b3c70e10e63273ef1f2e5cd0a2bd33e8" name="PEAR/Installer/Role/Ext.php" role="php"> + <file md5sum="c578fcb78bc555bb120c01d7c9daa38f" name="PEAR/Installer/Role/Ext.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="ef88f0321d3e481c2130c95122cf76d8" name="PEAR/Installer/Role/Php.xml" role="php" /> - <file md5sum="9e4a34e2a332b704417590cb734ffc93" name="PEAR/Installer/Role/Php.php" role="php"> + <file md5sum="6356cfb0741d160e16a82ee75f989b76" name="PEAR/Installer/Role/Php.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="746461dc3b48af6d24094cb0211608f2" name="PEAR/Installer/Role/Script.xml" role="php" /> - <file md5sum="eb20ad9051db4db53a1c30e9f1b0dab5" name="PEAR/Installer/Role/Script.php" role="php"> + <file md5sum="4393edd772da70ee4e6a30fda0720abf" name="PEAR/Installer/Role/Script.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="e147d63f168ea156fc2be38caaa63804" name="PEAR/Installer/Role/Src.xml" role="php" /> - <file md5sum="656ad25a2fa1a13f53aad6121edfba91" name="PEAR/Installer/Role/Src.php" role="php"> + <file md5sum="543aae5ae1079a43afcefc3e8b717a35" name="PEAR/Installer/Role/Src.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="a24b596ec987aa5688fc19e8ed4e97ea" name="PEAR/Installer/Role/Test.xml" role="php" /> - <file md5sum="5601a755c633dafb639a8fbd1abe0261" name="PEAR/Installer/Role/Test.php" role="php"> + <file md5sum="fae5cee222cd1afccb43a58f942387d4" name="PEAR/Installer/Role/Test.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="7641e71c5785bb33a4261ebe25ed0fd7" name="PEAR/Installer/Role/Www.xml" role="php" /> - <file md5sum="8ab36d60bc9eb361885d7d901b107c0c" name="PEAR/Installer/Role/Www.php" role="php"> + <file md5sum="d32da89753298476b60a6987d98b88be" name="PEAR/Installer/Role/Www.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="0dab463a3402a0401616c7a1630bebcb" name="PEAR/Installer/Role.php" role="php"> + <file md5sum="3dba76d8cad0ee633749b215fa2f7bbb" name="PEAR/Installer/Role.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="cd8b1ef4c311e0e4f5a00e5e36d48d43" name="PEAR/PackageFile/Generator/v1.php" role="php"> + <file md5sum="eff7ba0329cfb00fe57bee018024edca" name="PEAR/PackageFile/Generator/v1.php" role="php"> <tasks:replace from="@PEAR-VER@" to="version" type="package-info" /> </file> - <file md5sum="f7ed15b3d6d1aab0b6f8ee2fe0d9d3db" name="PEAR/PackageFile/Generator/v2.php" role="php"> + <file md5sum="a4de32c380f15e9a01dcbd07a2fa1062" name="PEAR/PackageFile/Generator/v2.php" role="php"> <tasks:replace from="@PEAR-VER@" to="version" type="package-info" /> </file> <file md5sum="7d3828c0f41aadc34d948f5215c4cd66" name="PEAR/PackageFile/Parser/v1.php" role="php"> @@ -7473,131 +7501,131 @@ class OS_Guess <file md5sum="a5f847fdba24116593efc223425a9609" name="PEAR/PackageFile/Parser/v2.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="9a159d7f8e70bf9f57f9ade64dd5e377" name="PEAR/PackageFile/v2/rw.php" role="php"> + <file md5sum="e964916c2b8fb5e1e947baa6dcc909d9" name="PEAR/PackageFile/v2/rw.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="cf2b5655d9accc025e5cf5f0476302a8" name="PEAR/PackageFile/v2/Validator.php" role="php"> + <file md5sum="feebfc45a40c46bfa7665237fb8ed5f2" name="PEAR/PackageFile/v2/Validator.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="7736b857a1153b02453d42dd476d6f8a" name="PEAR/PackageFile/v1.php" role="php"> + <file md5sum="43d3f37727760235681fdf026a43fc64" name="PEAR/PackageFile/v1.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="7026083ae0b038045dc117d68dc32a0a" name="PEAR/PackageFile/v2.php" role="php"> + <file md5sum="a1bf67f5d7009889e2ba2dcb0fb635c1" name="PEAR/PackageFile/v2.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="b0b343c594552895492692d52561bc52" name="PEAR/REST/10.php" role="php"> + <file md5sum="cedbfe0e711e6f0d2bb6b1e0e7f12274" name="PEAR/REST/10.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="41f230e5d3282221e6b55466cb0510d3" name="PEAR/REST/11.php" role="php"> + <file md5sum="93150a26f1a37747f5e2051deae71288" name="PEAR/REST/11.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="897908bf87ac9ae617a0a42e13f8e0cd" name="PEAR/REST/13.php" role="php"> + <file md5sum="58734baedca9a15f3013a8e5e21db229" name="PEAR/REST/13.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="bff16b5498aa831d106061ebbaba484c" name="PEAR/Task/Postinstallscript/rw.php" role="php"> + <file md5sum="7e8d7f5385ee8bf9150cf1f8145432dc" name="PEAR/Task/Postinstallscript/rw.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="d4f525ae7d94c48662d45769643abada" name="PEAR/Task/Replace/rw.php" role="php"> + <file md5sum="402e525ad2549c443f0a2d27f83df600" name="PEAR/Task/Replace/rw.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="0787e483b91cb6842b9cfedbb486aabf" name="PEAR/Task/Unixeol/rw.php" role="php"> + <file md5sum="d0116f3e8c7f0226dc1056b77185f53c" name="PEAR/Task/Unixeol/rw.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="a5545cfac22a53d0aad99f4acdbee50c" name="PEAR/Task/Windowseol/rw.php" role="php"> + <file md5sum="eaf19cd57b5c132c350380572d81b901" name="PEAR/Task/Windowseol/rw.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="e61537de629cb2f7f7e1bc497038902e" name="PEAR/Task/Common.php" role="php"> + <file md5sum="5b3adb4dc3798b128c05a1fc87fe1440" name="PEAR/Task/Common.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="34d4c4f16734388faca7e418ab206f68" name="PEAR/Task/Postinstallscript.php" role="php"> + <file md5sum="e2ef901aeb745899ef48e29bcadf9409" name="PEAR/Task/Postinstallscript.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="0fecedc2f99e5f010b327650c353e4db" name="PEAR/Task/Replace.php" role="php"> + <file md5sum="20b9fce126804204841f9f394f476f38" name="PEAR/Task/Replace.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="85ee9fd0fa58d4aef2161d5ac5d9b539" name="PEAR/Task/Unixeol.php" role="php"> + <file md5sum="a98e009b3b41aa2efdeab4c34c56bbda" name="PEAR/Task/Unixeol.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="33bc10b55f7c90425054024b42d0e944" name="PEAR/Task/Windowseol.php" role="php"> + <file md5sum="81453f45f1c0aa142ac7e829ec40e6c7" name="PEAR/Task/Windowseol.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="a18f1a10bb85cc988f7c2de9914c1e9f" name="PEAR/Validator/PECL.php" role="php"> + <file md5sum="720035513393e7331b196ab39a3dc822" name="PEAR/Validator/PECL.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="b6d6b167ca1514d0765533d4abafca1d" name="PEAR/Autoloader.php" role="php"> + <file md5sum="0b0570ebd3e3124e88cb7f520f533bbb" name="PEAR/Autoloader.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="d9d3b94e0d1bf2f2c377a5cd8201481c" name="PEAR/Builder.php" role="php"> + <file md5sum="a5b7b9ee6a402ffd4855a22ccc3328e3" name="PEAR/Builder.php" role="php"> <tasks:replace from="@PEAR-VER@" to="version" type="package-info" /> </file> - <file md5sum="f9d18b3c198a2a0f0771036c6b0404f7" name="PEAR/ChannelFile.php" role="php"> + <file md5sum="6bd29d53837ee18034e8ea7bb1a5c97c" name="PEAR/ChannelFile.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="150c15a2fb2fd57166ca8276e29cb74b" name="PEAR/Command.php" role="php"> + <file md5sum="cc6f2699a388214e35a2d2bad21cd13d" name="PEAR/Command.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="7c0ff45e0ee9df0ddbaa9b8c4c31b2fd" name="PEAR/Common.php" role="php"> + <file md5sum="4fa7f5017ea636ef7101698a3633cb31" name="PEAR/Common.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="5080a36f685fcef9b160617e8cb02870" name="PEAR/Config.php" role="php"> + <file md5sum="8986d72091e1b2ca4d711ebc9fd716fe" name="PEAR/Config.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="c161acaf73f7938ea48b3165d891998b" name="PEAR/DependencyDB.php" role="php"> + <file md5sum="db6b82926708f636ca619b3e061dffae" name="PEAR/DependencyDB.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="b0d1ee5d0acd02ca9351e076f73cc9da" name="PEAR/Dependency2.php" role="php"> + <file md5sum="d4da6b74965e332e7f5dde3e391d4156" name="PEAR/Dependency2.php" role="php"> <tasks:replace from="@PEAR-VER@" to="version" type="package-info" /> </file> - <file md5sum="2185eb7a493f863ea3d3510195e7c901" name="PEAR/Downloader.php" role="php"> + <file md5sum="0646fba5c60d4b906889973c8e7ac6ae" name="PEAR/Downloader.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="33ce30b4478cdb76e29bd75058c842e3" name="PEAR/ErrorStack.php" role="php"> + <file md5sum="77c31950fa502d9e565653141a1f3637" name="PEAR/ErrorStack.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="f364e75223744d460a6bb08420ac94f9" name="PEAR/Exception.php" role="php"> + <file md5sum="424a61a67dbd5f9f3ed5fc3be2b9ac54" name="PEAR/Exception.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="e0e4cbcec4a972fbad779d0f9d323120" name="PEAR/FixPHP5PEARWarnings.php" role="php" /> - <file md5sum="52c3acdba716110657f7bf86ca2012e1" name="PEAR/Frontend.php" role="php"> + <file md5sum="8d04ed7e4179548d69d0040163cb7250" name="PEAR/Frontend.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="45f4c064607a7d3d4f68b0f06f98db5c" name="PEAR/Installer.php" role="php"> + <file md5sum="994655f8cc16f97cd0a241c6d548f484" name="PEAR/Installer.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="df9c5cc34b6fbbf661d534cecb315c9f" name="PEAR/PackageFile.php" role="php"> + <file md5sum="ad5eb9913cd7324545f3583df670e551" name="PEAR/PackageFile.php" role="php"> <tasks:replace from="@PEAR-VER@" to="version" type="package-info" /> </file> - <file md5sum="821b72d18cbdc2e8b9c5087bc9b99854" name="PEAR/Packager.php" role="php"> + <file md5sum="46a8ccf2a1662f008d793b0d07dfaf34" name="PEAR/Packager.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="a58437db39d3d71bb93f44a660334720" name="PEAR/Registry.php" role="php"> + <file md5sum="289853b317cab761b6752f146feeb483" name="PEAR/Registry.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="28e5f3b905280051309e65d3e85d0b15" name="PEAR/REST.php" role="php"> + <file md5sum="f789969ce01f02afc38272fe4d76bd7a" name="PEAR/REST.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="34a0d9008da01b3987a610d94837a80c" name="PEAR/RunTest.php" role="php"> + <file md5sum="b9a5d829d6897724d14b2b52b8986d74" name="PEAR/RunTest.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="c5ea781c8abb14ff62b04b6db5e10e0f" name="PEAR/Validate.php" role="php"> + <file md5sum="cc4aa49c5296f475054a3054d2c33170" name="PEAR/Validate.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file md5sum="c6de49d413a1cf97a1f8a4668766e3ab" name="PEAR/XMLParser.php" role="php"> + <file md5sum="de6c3f7f8676896a36eef666c751987e" name="PEAR/XMLParser.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> - <file baseinstalldir="/" md5sum="bd65b087b7707463525e9f0092337793" name="scripts/pear.bat" role="script"> + <file baseinstalldir="/" md5sum="1b655ab71a82e0b32e4d01f644f04ab9" name="scripts/pear.bat" role="script"> <tasks:replace from="@bin_dir@" to="bin_dir" type="pear-config" /> <tasks:replace from="@php_bin@" to="php_bin" type="pear-config" /> <tasks:replace from="@include_path@" to="php_dir" type="pear-config" /> <tasks:windowseol /> </file> - <file baseinstalldir="/" md5sum="92cafd038c7d6a212111c84ca4907a13" name="scripts/peardev.bat" role="script"> + <file baseinstalldir="/" md5sum="37035c37e7af3616fde055312abf7853" name="scripts/peardev.bat" role="script"> <tasks:replace from="@bin_dir@" to="bin_dir" type="pear-config" /> <tasks:replace from="@php_bin@" to="php_bin" type="pear-config" /> <tasks:replace from="@include_path@" to="php_dir" type="pear-config" /> <tasks:windowseol /> </file> - <file baseinstalldir="/" md5sum="34c1cb834dd1c03c9e40998b201d52e0" name="scripts/pecl.bat" role="script"> + <file baseinstalldir="/" md5sum="3f382ec0c119b46a24df51ac5f6d2297" name="scripts/pecl.bat" role="script"> <tasks:replace from="@bin_dir@" to="bin_dir" type="pear-config" /> <tasks:replace from="@php_bin@" to="php_bin" type="pear-config" /> <tasks:replace from="@include_path@" to="php_dir" type="pear-config" /> @@ -7624,7 +7652,7 @@ class OS_Guess <tasks:replace from="@include_path@" to="php_dir" type="pear-config" /> <tasks:unixeol /> </file> - <file baseinstalldir="/" md5sum="55426bdbfd8e1bc050a79e3c6095d8e5" name="scripts/pearcmd.php" role="php"> + <file baseinstalldir="/" md5sum="ec19ff8205b9fe9468ac567386ffc435" name="scripts/pearcmd.php" role="php"> <tasks:replace from="@php_bin@" to="php_bin" type="pear-config" /> <tasks:replace from="@php_dir@" to="php_dir" type="pear-config" /> <tasks:replace from="@pear_version@" to="version" type="package-info" /> @@ -7637,14 +7665,14 @@ class OS_Guess <tasks:replace from="@include_path@" to="php_dir" type="pear-config" /> </file> <file md5sum="45b44486d8090de17b2a8b4211fab247" name="LICENSE" role="doc" /> - <file md5sum="45b1a9dcc368539cb8f2a65c30b2f453" name="INSTALL" role="doc" /> + <file md5sum="dca60ef14e3f43b5fe0c31a33f1b7311" name="INSTALL" role="doc" /> <file md5sum="4a49bc83a392934e57af45c70a589fda" name="package.dtd" role="data" /> <file md5sum="1a8f67d58009372a6cbcddd638b128cf" name="PEAR5.php" role="php" /> - <file md5sum="4e4941a59ed97ca61c93deb6a7ff918c" name="PEAR.php" role="php"> + <file md5sum="40a050880b2bfbaa71add94087e22db1" name="PEAR.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="d3b517006b304817731eb77cc2154258" name="README" role="doc" /> - <file md5sum="8bf4cfb58d10d72b5082c3022c887710" name="System.php" role="php"> + <file md5sum="99b954d9ba836df49368170e77748c8a" name="System.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="acd010e3bc43c0f72df584acde7b9158" name="template.spec" role="data" /> @@ -7669,14 +7697,14 @@ class OS_Guess <name>Archive_Tar</name> <channel>pear.php.net</channel> <min>1.1</min> - <recommended>1.3.3</recommended> + <recommended>1.3.7</recommended> <exclude>1.3.0</exclude> </package> <package> <name>Structures_Graph</name> <channel>pear.php.net</channel> <min>1.0.2</min> - <recommended>1.0.2</recommended> + <recommended>1.0.3</recommended> </package> <package> <name>Console_Getopt</name> @@ -8060,9 +8088,24 @@ Alpha1 Release Notes: * Fix Bug #16547: The phar for PEAR installer uses ereg() which is deprecated [dufuz] </notes> </release> + <release> + <date>2009-10-10</date> + <version> + <release>1.9.1</release> + <api>1.9.1</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> + <notes> +* svntag improvements, tag package files passed into the command and better directory checks [dufuz] + </notes> + </release> </changelog> </package> - + /** * The OS_Guess class * @@ -8151,7 +8194,7 @@ Alpha1 Release Notes: * @author Gregory Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -8399,7 +8442,7 @@ class OS_Guess * indent-tabs-mode: nil * c-basic-offset: 4 * End: - */ + */ /** * PEAR_ChannelFile_Parser for parsing channel.xml * @@ -8427,7 +8470,7 @@ require_once 'PEAR/ChannelFile.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -8466,7 +8509,7 @@ class PEAR_ChannelFile_Parser extends PEAR_XMLParser $ret->setPackagefile($file, $archive); return $ret; } -} +} <login> <summary>Connects and authenticates to remote server [Deprecated in favor of channel-login]</summary> <function>doLogin</function> @@ -8495,7 +8538,7 @@ Logs out from the remote server. This command does not actually connect to the remote server, it only deletes the stored username and password from your user configuration.</doc> </logout> -</commands> +</commands> /** * PEAR_Command_Auth (login, logout commands) * @@ -8527,7 +8570,7 @@ require_once 'PEAR/Command/Channels.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 * @deprecated since 1.8.0alpha1 @@ -8575,7 +8618,7 @@ password from your user configuration.', { parent::PEAR_Command_Channels($ui, $config); } -} +} <build> <summary>Build an Extension From C Source</summary> <function>doBuild</function> @@ -8584,7 +8627,7 @@ password from your user configuration.', <doc>[package.xml] Builds one or more extensions contained in a package.</doc> </build> -</commands> +</commands> /** * PEAR_Command_Auth (build command) * @@ -8617,7 +8660,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -8668,7 +8711,7 @@ Builds one or more extensions contained in a package.' $this->ui->outputData(rtrim($data), 'build'); } } -} +} <list-channels> <summary>List Available Channels</summary> <function>doList</function> @@ -8790,7 +8833,7 @@ the default channel is used. This command does not actually connect to the remote server, it only deletes the stored username and password from your user configuration.</doc> </channel-logout> -</commands> +</commands> // /* vim: set expandtab tabstop=4 shiftwidth=4: */ /** * PEAR_Command_Channels (list-channels, update-channels, channel-delete, channel-add, @@ -8824,7 +8867,7 @@ define('PEAR_COMMAND_CHANNELS_CHANNEL_EXISTS', -500); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -9672,7 +9715,7 @@ configuration.', $this->config->store(); return true; } -} +} /** * PEAR_Command_Common base class * @@ -9703,7 +9746,7 @@ require_once 'PEAR.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -9944,7 +9987,7 @@ class PEAR_Command_Common extends PEAR return $this->$func($command, $options, $params); } -} +} <config-show> <summary>Show All Settings</summary> <function>doConfigShow</function> @@ -10035,7 +10078,7 @@ PEAR installation (using the --remoteconfig option of install, upgrade, and uninstall). </doc> </config-create> -</commands> +</commands> /** * PEAR_Command_Config (config-show, config-get, config-set, config-help, config-create commands) * @@ -10066,7 +10109,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -10447,7 +10490,7 @@ and uninstall). return false; } -} +} <install> <summary>Install Package</summary> <function>doInstall</function> @@ -10722,7 +10765,7 @@ package if needed. Run post-installation scripts in package <package>, if any exist. </doc> </run-scripts> -</commands> +</commands> /** * PEAR_Command_Install (install, upgrade, upgrade-all, uninstall, bundle, run-scripts commands) * @@ -10754,7 +10797,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -11987,7 +12030,7 @@ Run post-installation scripts in package <package>, if any exist. return $ret; } -} +} <download-all> <summary>Downloads each available package from the default channel</summary> <function>doDownloadAll</function> @@ -12004,7 +12047,7 @@ Requests a list of available packages from the default channel ({config default_ and downloads them to current working directory. Note: only packages within preferred_state ({config preferred_state}) will be downloaded</doc> </download-all> -</commands> +</commands> /** * PEAR_Command_Mirror (download-all command) * @@ -12033,7 +12076,7 @@ require_once 'PEAR/Command/Common.php'; * @author Alexander Merz <alexmerz@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.2.0 */ @@ -12142,7 +12185,7 @@ packages within preferred_state ({config preferred_state}) will be downloaded' return true; } -} +} <package> <summary>Build Package</summary> <function>doPackage</function> @@ -12378,7 +12421,7 @@ This is not the most intelligent conversion, and should only be used for automated conversion or learning the format. </doc> </convert> -</commands> +</commands> /** * PEAR_Command_Package (package, package-validate, cvsdiff, cvstag, package-dependencies, * sign, makerpm, convert commands) @@ -12392,7 +12435,7 @@ used for automated conversion or learning the format. * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Package.php 287559 2009-08-21 22:33:10Z dufuz $ + * @version CVS: $Id: Package.php 288113 2009-09-06 21:11:55Z dufuz $ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -12874,6 +12917,10 @@ used for automated conversion or learning the format. if (in_array($svntag . '/', explode("\n", $out))) { $this->ui->outputData($this->output, $command); return $this->raiseError('SVN tag ' . $svntag . ' for ' . $package . ' already exists.'); + } elseif (file_exists($path['local']['base'] . 'tags') === false) { + return $this->raiseError('Can not locate the tags directory at ' . $path['local']['base'] . 'tags'); + } elseif (is_writeable($path['local']['base'] . 'tags') === false) { + return $this->raiseError('Can not write to the tag directory at ' . $path['local']['base'] . 'tags'); } else { $makeCommand = 'svn mkdir ' . $releaseTag; $this->output .= "+ $makeCommand\n"; @@ -12899,6 +12946,13 @@ used for automated conversion or learning the format. $dir = dirname($packageFile); $dir = substr($dir, strrpos($dir, '/') + 1); $files = array_keys($info->getFilelist()); + + array_shift($params); + if (count($params)) { + // add in additional files to be tagged (package files and such) + $files = array_merge($files, $params); + } + $commands = array(); foreach ($files as $file) { if (!file_exists($file)) { @@ -13485,7 +13539,7 @@ used for automated conversion or learning the format. $this->ui->outputData('Wrote new version 2.0 package.xml to "' . $saved . '"'); return true; } -} +} <pickle> <summary>Build PECL Package</summary> <function>doPackage</function> @@ -13520,7 +13574,7 @@ uses any of these features, you are best off using PEAR_PackageFileManager to generate both package.xml. </doc> </pickle> -</commands> +</commands> /** * PEAR_Command_Pickle (pickle command) * @@ -13549,7 +13603,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 2005-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.1 */ @@ -13940,7 +13994,7 @@ generate both package.xml. $gen = &$pf->getDefaultGenerator(); $gen->toPackageFile('.'); } -} +} <list> <summary>List Installed Packages In The Default Channel</summary> <function>doList</function> @@ -13997,7 +14051,7 @@ Displays information about a package. The package argument may be a local package file, an URL to a package file, or the name of an installed package.</doc> </info> -</commands> +</commands> /** * PEAR_Command_Registry (list, list-files, shell-test, info commands) * @@ -14009,7 +14063,7 @@ installed package.</doc> * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Registry.php 276383 2009-02-24 23:39:37Z dufuz $ + * @version CVS: $Id: Registry.php 299146 2010-05-08 16:26:13Z dufuz $ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -14028,7 +14082,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -14423,7 +14477,9 @@ installed package.' $info = $fp = false; $reg = &$this->config->getRegistry(); - if ((file_exists($params[0]) && is_file($params[0]) && !is_dir($params[0])) || $fp = @fopen($params[0], 'r')) { + if (is_file($params[0]) && !is_dir($params[0]) && + (file_exists($params[0]) || $fp = @fopen($params[0], 'r')) + ) { if ($fp) { fclose($fp); } @@ -15139,7 +15195,7 @@ installed package.' $data['raw'] = $obj->getArray(); // no validation needed $this->ui->outputData($data, 'package-info'); } -} +} <remote-info> <summary>Information About Remote Packages</summary> <function>doRemoteInfo</function> @@ -15247,7 +15303,7 @@ Clear the XML-RPC/REST cache. See also the cache_ttl configuration parameter. </doc> </clear-cache> -</commands> +</commands> /** * PEAR_Command_Remote (remote-info, list-upgrades, remote-list, search, list-all, download, * clear-cache commands) @@ -15280,7 +15336,7 @@ require_once 'PEAR/REST.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -16055,7 +16111,7 @@ parameter. $this->ui->outputData(rtrim($output), $command); return $num; } -} +} <run-tests> <summary>Run Regression Tests</summary> <function>doRunTests</function> @@ -16108,7 +16164,7 @@ If none is found, all .phpt tests will be tried instead.</doc> <doc>[testfile|dir ...] Run regression tests with PHP's regression testing script (run-tests.php).</doc> </run-tests> -</commands> +</commands> /** * PEAR_Command_Test (run-tests) * @@ -16141,7 +16197,7 @@ require_once 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -16444,7 +16500,7 @@ Run regression tests with PHP\'s regression testing script (run-tests.php).', return true; } -} +} /** * PEAR_Downloader_Package * @@ -16496,7 +16552,7 @@ define('PEAR_DOWNLOADER_PACKAGE_PHPVERSION', -1004); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -18447,7 +18503,7 @@ class PEAR_Downloader_Package return $info; } -} +} /** * PEAR_Frontend_CLI * @@ -18459,7 +18515,7 @@ class PEAR_Downloader_Package * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: CLI.php 278236 2009-04-04 00:09:14Z dufuz $ + * @version CVS: $Id: CLI.php 296938 2010-03-27 16:16:25Z dufuz $ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -18476,7 +18532,7 @@ require_once 'PEAR/Frontend.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -18961,9 +19017,13 @@ class PEAR_Frontend_CLI extends PEAR_Frontend $opts); } - foreach($data['data'] as $row) { - $this->_tableRow($row, null, $opts); - } + if (is_array($data['data'])) { + foreach($data['data'] as $row) { + $this->_tableRow($row, null, $opts); + } + } else { + $this->_tableRow(array($data['data']), null, $opts); + } $this->_endTable(); } else { $this->_displayLine($data); @@ -19178,7 +19238,7 @@ class PEAR_Frontend_CLI extends PEAR_Frontend { print $text; } -} +} /** * Base class for all installation roles. * @@ -19204,7 +19264,7 @@ class PEAR_Frontend_CLI extends PEAR_Frontend * @author Greg Beaver <cellog@php.net> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -19351,7 +19411,7 @@ class PEAR_Installer_Role_Common return $roleInfo['phpextension']; } } -?> +?> <releasetypes>php</releasetypes> <releasetypes>extsrc</releasetypes> <releasetypes>extbin</releasetypes> @@ -19365,7 +19425,7 @@ class PEAR_Installer_Role_Common <executable /> <phpextension /> <config_vars /> -</role> +</role> /** * PEAR_Installer_Role_Cfg * @@ -19387,7 +19447,7 @@ class PEAR_Installer_Role_Common * @author Greg Beaver <cellog@php.net> * @copyright 2007-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.7.0 */ @@ -19470,7 +19530,7 @@ class PEAR_Installer_Role_Cfg extends PEAR_Installer_Role_Common return $test; } -} +} <releasetypes>php</releasetypes> <releasetypes>extsrc</releasetypes> <releasetypes>extbin</releasetypes> @@ -19484,7 +19544,7 @@ class PEAR_Installer_Role_Cfg extends PEAR_Installer_Role_Common <executable /> <phpextension /> <config_vars /> -</role> +</role> /** * PEAR_Installer_Role_Data * @@ -19506,12 +19566,12 @@ class PEAR_Installer_Role_Cfg extends PEAR_Installer_Role_Common * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ class PEAR_Installer_Role_Data extends PEAR_Installer_Role_Common {} -?> +?> <releasetypes>php</releasetypes> <releasetypes>extsrc</releasetypes> <releasetypes>extbin</releasetypes> @@ -19525,7 +19585,7 @@ class PEAR_Installer_Role_Data extends PEAR_Installer_Role_Common {} <executable /> <phpextension /> <config_vars /> -</role> +</role> /** * PEAR_Installer_Role_Doc * @@ -19547,12 +19607,12 @@ class PEAR_Installer_Role_Data extends PEAR_Installer_Role_Common {} * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ class PEAR_Installer_Role_Doc extends PEAR_Installer_Role_Common {} -?> +?> <releasetypes>extbin</releasetypes> <releasetypes>zendextbin</releasetypes> <installable>1</installable> @@ -19563,7 +19623,7 @@ class PEAR_Installer_Role_Doc extends PEAR_Installer_Role_Common {} <executable /> <phpextension>1</phpextension> <config_vars /> -</role> +</role> /** * PEAR_Installer_Role_Ext * @@ -19585,12 +19645,12 @@ class PEAR_Installer_Role_Doc extends PEAR_Installer_Role_Common {} * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ class PEAR_Installer_Role_Ext extends PEAR_Installer_Role_Common {} -?> +?> <releasetypes>php</releasetypes> <releasetypes>extsrc</releasetypes> <releasetypes>extbin</releasetypes> @@ -19604,7 +19664,7 @@ class PEAR_Installer_Role_Ext extends PEAR_Installer_Role_Common {} <executable /> <phpextension /> <config_vars /> -</role> +</role> /** * PEAR_Installer_Role_Php * @@ -19626,12 +19686,12 @@ class PEAR_Installer_Role_Ext extends PEAR_Installer_Role_Common {} * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ class PEAR_Installer_Role_Php extends PEAR_Installer_Role_Common {} -?> +?> <releasetypes>php</releasetypes> <releasetypes>extsrc</releasetypes> <releasetypes>extbin</releasetypes> @@ -19645,7 +19705,7 @@ class PEAR_Installer_Role_Php extends PEAR_Installer_Role_Common {} <executable>1</executable> <phpextension /> <config_vars /> -</role> +</role> /** * PEAR_Installer_Role_Script * @@ -19667,12 +19727,12 @@ class PEAR_Installer_Role_Php extends PEAR_Installer_Role_Common {} * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ class PEAR_Installer_Role_Script extends PEAR_Installer_Role_Common {} -?> +?> <releasetypes>extsrc</releasetypes> <releasetypes>zendextsrc</releasetypes> <installable>1</installable> @@ -19683,7 +19743,7 @@ class PEAR_Installer_Role_Script extends PEAR_Installer_Role_Common {} <executable /> <phpextension /> <config_vars /> -</role> +</role> /** * PEAR_Installer_Role_Src * @@ -19705,7 +19765,7 @@ class PEAR_Installer_Role_Script extends PEAR_Installer_Role_Common {} * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -19716,7 +19776,7 @@ class PEAR_Installer_Role_Src extends PEAR_Installer_Role_Common $installer->source_files++; } } -?> +?> <releasetypes>php</releasetypes> <releasetypes>extsrc</releasetypes> <releasetypes>extbin</releasetypes> @@ -19730,7 +19790,7 @@ class PEAR_Installer_Role_Src extends PEAR_Installer_Role_Common <executable /> <phpextension /> <config_vars /> -</role> +</role> /** * PEAR_Installer_Role_Test * @@ -19752,12 +19812,12 @@ class PEAR_Installer_Role_Src extends PEAR_Installer_Role_Common * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ class PEAR_Installer_Role_Test extends PEAR_Installer_Role_Common {} -?> +?> <releasetypes>php</releasetypes> <releasetypes>extsrc</releasetypes> <releasetypes>extbin</releasetypes> @@ -19771,7 +19831,7 @@ class PEAR_Installer_Role_Test extends PEAR_Installer_Role_Common {} <executable /> <phpextension /> <config_vars /> -</role> +</role> /** * PEAR_Installer_Role_Www * @@ -19793,12 +19853,12 @@ class PEAR_Installer_Role_Test extends PEAR_Installer_Role_Common {} * @author Greg Beaver <cellog@php.net> * @copyright 2007-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.7.0 */ class PEAR_Installer_Role_Www extends PEAR_Installer_Role_Common {} -?> +?> /** * PEAR_Installer_Role * @@ -19825,7 +19885,7 @@ require_once 'PEAR/XMLParser.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -20073,7 +20133,7 @@ class PEAR_Installer_Role PEAR_Installer_Role::getValidRoles('****', true); return true; } -} +} /** * package.xml generation class, package.xml version 1.0 * @@ -20104,7 +20164,7 @@ require_once 'PEAR/PackageFile/v2.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -20121,7 +20181,7 @@ class PEAR_PackageFile_Generator_v1 function getPackagerVersion() { - return '1.9.0'; + return '1.9.1'; } /** @@ -20275,7 +20335,7 @@ class PEAR_PackageFile_Generator_v1 ); $ret = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"; $ret .= "<!DOCTYPE package SYSTEM \"http://pear.php.net/dtd/package-1.0\">\n"; - $ret .= "<package version=\"1.0\" packagerversion=\"1.9.0\">\n" . + $ret .= "<package version=\"1.0\" packagerversion=\"1.9.1\">\n" . " <name>$pkginfo[package]</name>"; if (isset($pkginfo['extends'])) { $ret .= "\n<extends>$pkginfo[extends]</extends>"; @@ -21356,7 +21416,7 @@ class PEAR_PackageFile_Generator_v1 return $ret; } } -?> +?> /** * package.xml generation class, package.xml version 2.0 * @@ -21389,7 +21449,7 @@ require_once 'XML/Util.php'; * @author Stephan Schmidt (original XML_Serializer code) * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -21471,7 +21531,7 @@ http://pear.php.net/dtd/package-2.0.xsd', */ function getPackagerVersion() { - return '1.9.0'; + return '1.9.1'; } /** @@ -21756,7 +21816,7 @@ http://pear.php.net/dtd/package-2.0.xsd', $this->options['beautifyFilelist'] = true; } - $arr['attribs']['packagerversion'] = '1.9.0'; + $arr['attribs']['packagerversion'] = '1.9.1'; if ($this->serialize($arr, $options)) { return $this->_serializedData . "\n"; } @@ -22248,7 +22308,7 @@ http://pear.php.net/dtd/package-2.0.xsd', } return $tag; } -} +} /** * package.xml parsing class, package.xml version 1.0 * @@ -22706,7 +22766,7 @@ class PEAR_PackageFile_Parser_v1 // }}} } -?> +?> /** * package.xml parsing class, package.xml version 2.0 * @@ -22818,7 +22878,7 @@ class PEAR_PackageFile_Parser_v2 extends PEAR_XMLParser $ret->setPackagefile($file, $archive); return $ret; } -} +} /** * PEAR_PackageFile_v2, package.xml version 2.0, read/write version * @@ -22843,7 +22903,7 @@ require_once 'PEAR/PackageFile/v2.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a8 */ @@ -24421,7 +24481,7 @@ class PEAR_PackageFile_v2_rw extends PEAR_PackageFile_v2 { unset($this->_packageInfo['changelog']); } -} +} /** * PEAR_PackageFile_v2, package.xml version 2.0, read/write version * @@ -24444,7 +24504,7 @@ class PEAR_PackageFile_v2_rw extends PEAR_PackageFile_v2 * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a8 * @access private @@ -24535,7 +24595,7 @@ class PEAR_PackageFile_v2_Validator isset($test['dependencies']['required']) && isset($test['dependencies']['required']['pearinstaller']) && isset($test['dependencies']['required']['pearinstaller']['min']) && - version_compare('1.9.0', + version_compare('1.9.1', $test['dependencies']['required']['pearinstaller']['min'], '<') ) { $this->_pearVersionTooLow($test['dependencies']['required']['pearinstaller']['min']); @@ -25774,7 +25834,7 @@ class PEAR_PackageFile_v2_Validator $this->_stack->push(__FUNCTION__, 'error', array('version' => $version), 'This package.xml requires PEAR version %version% to parse properly, we are ' . - 'version 1.9.0'); + 'version 1.9.1'); } function _invalidTagOrder($oktags, $actual, $root) @@ -26574,7 +26634,7 @@ class PEAR_PackageFile_v2_Validator return $providesret; } -} +} /** * PEAR_PackageFile_v1, package.xml version 1.0 * @@ -26851,7 +26911,7 @@ define('PEAR_PACKAGEFILE_ERROR_INVALID_FILENAME', 52); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -28186,7 +28246,7 @@ class PEAR_PackageFile_v1 // }}} } ?> - + /** * PEAR_PackageFile_v2, package.xml version 2.0 * @@ -28211,7 +28271,7 @@ require_once 'PEAR/ErrorStack.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -30231,7 +30291,7 @@ class PEAR_PackageFile_v2 } } ?> - + /** * PEAR_REST_10 * @@ -30260,7 +30320,7 @@ require_once 'PEAR/REST.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a12 */ @@ -31097,7 +31157,7 @@ class PEAR_REST_10 return 1; } } -} +} /** * PEAR_REST_11 - implement faster list-all/remote-list command * @@ -31126,7 +31186,7 @@ require_once 'PEAR/REST.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.3 */ @@ -31437,7 +31497,7 @@ class PEAR_REST_11 return array_slice($states, $i + 1); } } -?> +?> /** * PEAR_REST_13 * @@ -31467,7 +31527,7 @@ require_once 'PEAR/REST/10.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a12 */ @@ -31735,7 +31795,7 @@ class PEAR_REST_13 extends PEAR_REST_10 return $this->_returnDownloadURL($base, $package, $release, $info, $found, $skippedphp, $channel); } -} +} /** * <tasks:postinstallscript> - read/write version * @@ -31761,7 +31821,7 @@ require_once 'PEAR/Task/Postinstallscript.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a10 */ @@ -31903,7 +31963,7 @@ class PEAR_Task_Postinstallscript_rw extends PEAR_Task_Postinstallscript ); } } -?> +?> /** * <tasks:replace> - read/write version * @@ -31929,7 +31989,7 @@ require_once 'PEAR/Task/Replace.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a10 */ @@ -31963,7 +32023,7 @@ class PEAR_Task_Replace_rw extends PEAR_Task_Replace return $this->_params; } } -?> +?> /** * <tasks:unixeol> - read/write version * @@ -31989,7 +32049,7 @@ require_once 'PEAR/Task/Unixeol.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a10 */ @@ -32018,7 +32078,7 @@ class PEAR_Task_Unixeol_rw extends PEAR_Task_Unixeol return ''; } } -?> +?> /** * <tasks:windowseol> - read/write version * @@ -32044,7 +32104,7 @@ require_once 'PEAR/Task/Windowseol.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a10 */ @@ -32073,7 +32133,7 @@ class PEAR_Task_Windowseol_rw extends PEAR_Task_Windowseol return ''; } } -?> +?> /** * PEAR_Task_Common, base class for installer tasks * @@ -32122,7 +32182,7 @@ define('PEAR_TASK_PACKAGEANDINSTALL', 3); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 * @abstract @@ -32274,7 +32334,7 @@ class PEAR_Task_Common return PEAR::raiseError($msg, $code); } } -?> +?> /** * <tasks:postinstallscript> * @@ -32303,7 +32363,7 @@ require_once 'PEAR/Task/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -32596,7 +32656,7 @@ class PEAR_Task_Postinstallscript extends PEAR_Task_Common { } } -?> +?> /** * <tasks:replace> * @@ -32622,7 +32682,7 @@ require_once 'PEAR/Task/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -32771,7 +32831,7 @@ class PEAR_Task_Replace extends PEAR_Task_Common return $contents; } } -?> +?> /** * <tasks:unixeol> * @@ -32797,7 +32857,7 @@ require_once 'PEAR/Task/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -32847,7 +32907,7 @@ class PEAR_Task_Unixeol extends PEAR_Task_Common return preg_replace("/\r\n|\n\r|\r|\n/", "\n", $contents); } } -?> +?> /** * <tasks:windowseol> * @@ -32873,7 +32933,7 @@ require_once 'PEAR/Task/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -32923,7 +32983,7 @@ class PEAR_Task_Windowseol extends PEAR_Task_Common return preg_replace("/\r\n|\n\r|\r|\n/", "\r\n", $contents); } } -?> +?> /** * Channel Validator for the pecl.php.net channel * @@ -32949,7 +33009,7 @@ require_once 'PEAR/Validate.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a5 */ @@ -32985,7 +33045,7 @@ class PEAR_Validator_PECL extends PEAR_Validate return $ret; } } -?> +?> /** * Class auto-loader * @@ -33032,7 +33092,7 @@ require_once "PEAR.php"; * @author Stig Bakken <ssb@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/manual/en/core.ppm.php#core.ppm.pear-autoloader * @since File available since Release 0.1 * @deprecated File deprecated in Release 1.4.0a1 @@ -33203,7 +33263,7 @@ class PEAR_Autoloader extends PEAR overload("PEAR_Autoloader"); ?> - + /** * PEAR_Builder for building PHP extensions (PECL packages) * @@ -33238,7 +33298,7 @@ require_once 'PEAR/PackageFile.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since PHP 4.0.2 * @see http://pear.php.net/manual/en/core.ppm.pear-builder.php @@ -33565,7 +33625,7 @@ class PEAR_Builder extends PEAR_Common if (!file_exists($build_dir) || !is_dir($build_dir) || !chdir($build_dir)) { return $this->raiseError("could not chdir to $build_dir"); } - putenv('PHP_PEAR_VERSION=1.9.0'); + putenv('PHP_PEAR_VERSION=1.9.1'); foreach ($to_run as $cmd) { $err = $this->_runCommand($cmd, $callback); if (PEAR::isError($err)) { @@ -33676,7 +33736,7 @@ class PEAR_Builder extends PEAR_Common } return PEAR_Common::log($level, $msg); } -} +} /** * PEAR_ChannelFile, the channel handling class * @@ -33824,7 +33884,7 @@ $GLOBALS['_PEAR_CHANNELS_MIRROR_TYPES'] = array('server'); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -35234,7 +35294,7 @@ class PEAR_ChannelFile return time(); } -} +} /** * PEAR_Command, command pattern class * @@ -35330,7 +35390,7 @@ $GLOBALS['_PEAR_Command_objects'] = array(); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -35647,7 +35707,7 @@ class PEAR_Command return false; } // }}} -} +} /** * PEAR_Common, the base class for the PEAR Installer * @@ -35767,7 +35827,7 @@ $GLOBALS['_PEAR_Common_script_phases'] = array('pre-install', 'post-install', 'p * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 * @deprecated This class will disappear, and its components will be spread @@ -36483,7 +36543,7 @@ class PEAR_Common extends PEAR } require_once 'PEAR/Config.php'; -require_once 'PEAR/PackageFile.php'; +require_once 'PEAR/PackageFile.php'; /** * PEAR_Config, customized configuration handling for the PEAR Installer * @@ -36731,7 +36791,7 @@ if (getenv('PHP_PEAR_SIG_KEYDIR')) { * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -38580,7 +38640,7 @@ class PEAR_Config extends PEAR } } } - + /** * PEAR_DependencyDB, advanced installed packages dependency database * @@ -38612,7 +38672,7 @@ $GLOBALS['_PEAR_DEPENDENCYDB_INSTANCE'] = array(); * @author Tomas V.V.Cox <cox@idec.net.com> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -39348,7 +39408,7 @@ class PEAR_DependencyDB ); } } -} +} /** * PEAR_Dependency2, advanced dependency validation * @@ -39381,7 +39441,7 @@ require_once 'PEAR/Validate.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -39891,7 +39951,7 @@ class PEAR_Dependency2 */ function getPEARVersion() { - return '1.9.0'; + return '1.9.1'; } function validatePearinstallerDependency($dep) @@ -40705,7 +40765,7 @@ class PEAR_Dependency2 return array(sprintf($msg, $this->_registry->parsedPackageNameToString( $this->_currentPackage, true))); } -} +} /** * PEAR_Downloader, the PEAR Installer's download utility class * @@ -40719,7 +40779,7 @@ class PEAR_Dependency2 * @author Martin Jansen <mj@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Downloader.php 287109 2009-08-11 18:50:30Z dufuz $ + * @version CVS: $Id: Downloader.php 296767 2010-03-25 00:58:33Z dufuz $ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.3.0 */ @@ -40746,7 +40806,7 @@ define('PEAR_INSTALLER_ERROR_NO_PREF_STATE', 2); * @author Martin Jansen <mj@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.3.0 */ @@ -42302,7 +42362,7 @@ class PEAR_Downloader extends PEAR_Common if ($lastmodified === false || $lastmodified) { $request = "GET $url HTTP/1.1\r\n"; - $request .= "Host: $host:$port\r\n"; + $request .= "Host: $host\r\n"; } else { $request = "GET $url HTTP/1.0\r\n"; $request .= "Host: $host\r\n"; @@ -42324,7 +42384,7 @@ class PEAR_Downloader extends PEAR_Common if ($lastmodified === false || $lastmodified) { $request = "GET $path HTTP/1.1\r\n"; - $request .= "Host: $host:$port\r\n"; + $request .= "Host: $host\r\n"; } else { $request = "GET $path HTTP/1.0\r\n"; $request .= "Host: $host\r\n"; @@ -42345,7 +42405,7 @@ class PEAR_Downloader extends PEAR_Common } $request .= $ifmodifiedsince . - "User-Agent: PEAR/1.9.0/PHP/" . PHP_VERSION . "\r\n"; + "User-Agent: PEAR/1.9.1/PHP/" . PHP_VERSION . "\r\n"; if (isset($this)) { // only pass in authentication for non-static calls $username = $config->get('username', null, $channel); @@ -42466,7 +42526,7 @@ class PEAR_Downloader extends PEAR_Common return $dest_file; } } -// }}} +// }}} /** * Error Stack Implementation * @@ -42600,7 +42660,7 @@ define('PEAR_ERRORSTACK_ERR_OBJTOSTRING', 2); * $local_stack = new PEAR_ErrorStack('MyPackage'); * </code> * @author Greg Beaver <cellog@php.net> - * @version 1.9.0 + * @version 1.9.1 * @package PEAR_ErrorStack * @category Debugging * @copyright 2004-2008 Greg Beaver @@ -43451,7 +43511,7 @@ class PEAR_ErrorStack { $stack = &PEAR_ErrorStack::singleton('PEAR_ErrorStack'); $stack->pushCallback(array('PEAR_ErrorStack', '_handleError')); ?> - + /* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */ /** * PEAR_Exception @@ -43466,7 +43526,7 @@ $stack->pushCallback(array('PEAR_ErrorStack', '_handleError')); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Exception.php 276383 2009-02-24 23:39:37Z dufuz $ + * @version CVS: $Id: Exception.php 296939 2010-03-27 16:24:43Z dufuz $ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.3.3 */ @@ -43542,7 +43602,7 @@ $stack->pushCallback(array('PEAR_ErrorStack', '_handleError')); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.3.3 * @@ -43742,7 +43802,7 @@ class PEAR_Exception extends Exception } public function getTraceSafe() - { + { if (!isset($this->_trace)) { $this->_trace = $this->getTrace(); if (empty($this->_trace)) { @@ -43778,21 +43838,21 @@ class PEAR_Exception extends Exception $trace = $this->getTraceSafe(); $causes = array(); $this->getCauseMessage($causes); - $html = '<table border="1" cellspacing="0">' . "\n"; + $html = '<table style="border: 1px" cellspacing="0">' . "\n"; foreach ($causes as $i => $cause) { - $html .= '<tr><td colspan="3" bgcolor="#ff9999">' + $html .= '<tr><td colspan="3" style="background: #ff9999">' . str_repeat('-', $i) . ' <b>' . $cause['class'] . '</b>: ' . htmlspecialchars($cause['message']) . ' in <b>' . $cause['file'] . '</b> ' . 'on line <b>' . $cause['line'] . '</b>' . "</td></tr>\n"; } - $html .= '<tr><td colspan="3" bgcolor="#aaaaaa" align="center"><b>Exception trace</b></td></tr>' . "\n" - . '<tr><td align="center" bgcolor="#cccccc" width="20"><b>#</b></td>' - . '<td align="center" bgcolor="#cccccc"><b>Function</b></td>' - . '<td align="center" bgcolor="#cccccc"><b>Location</b></td></tr>' . "\n"; + $html .= '<tr><td colspan="3" style="background-color: #aaaaaa; text-align: center; font-weight: bold;">Exception trace</td></tr>' . "\n" + . '<tr><td style="text-align: center; background: #cccccc; width:20px; font-weight: bold;">#</td>' + . '<td style="text-align: center; background: #cccccc; font-weight: bold;">Function</td>' + . '<td style="text-align: center; background: #cccccc; font-weight: bold;">Location</td></tr>' . "\n"; foreach ($trace as $k => $v) { - $html .= '<tr><td align="center">' . $k . '</td>' + $html .= '<tr><td style="text-align: center;">' . $k . '</td>' . '<td>'; if (!empty($v['class'])) { $html .= $v['class'] . $v['type']; @@ -43820,7 +43880,7 @@ class PEAR_Exception extends Exception . ':' . (isset($v['line']) ? $v['line'] : 'unknown') . '</td></tr>' . "\n"; } - $html .= '<tr><td align="center">' . ($k+1) . '</td>' + $html .= '<tr><td style="text-align: center;">' . ($k+1) . '</td>' . '<td>{main}</td>' . '<td> </td></tr>' . "\n" . '</table>'; @@ -43839,15 +43899,13 @@ class PEAR_Exception extends Exception } return $causeMsg . $this->getTraceAsString(); } -} - -?> +} if ($skipmsg) { $a = &new $ec($code, $mode, $options, $userinfo); } else { $a = &new $ec($message, $code, $mode, $options, $userinfo); } -?> +?> /** * PEAR_Frontend, the singleton-based frontend for user input/output * @@ -43888,7 +43946,7 @@ $GLOBALS['_PEAR_FRONTEND_SINGLETON'] = null; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -44074,7 +44132,7 @@ class PEAR_Frontend extends PEAR function userDialog($command, $prompts, $types = array(), $defaults = array()) { } -} +} /** * PEAR_Installer * @@ -44112,7 +44170,7 @@ define('PEAR_INSTALLER_NOBINARY', -240); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -45896,7 +45954,7 @@ class PEAR_Installer extends PEAR_Downloader } // }}} -} +} /** * PEAR_PackageFile, package.xml parsing utility class * @@ -45933,7 +45991,7 @@ define('PEAR_PACKAGEFILE_ERROR_INVALID_PACKAGEVERSION', 2); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -46396,7 +46454,7 @@ class PEAR_PackageFile $info = PEAR::raiseError("Cannot open '$info' for parsing"); return $info; } -} +} /** * PEAR_Packager for generating releases * @@ -46429,7 +46487,7 @@ require_once 'System.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -46596,7 +46654,7 @@ class PEAR_Packager extends PEAR_Common return $dest_package; } -} +} /** * PEAR_Registry * @@ -46635,7 +46693,7 @@ define('PEAR_REGISTRY_ERROR_CHANNEL_FILE', -6); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -48990,7 +49048,7 @@ class PEAR_Registry extends PEAR } return $ret; } -} +} /** * PEAR_REST * @@ -49001,7 +49059,7 @@ class PEAR_Registry extends PEAR * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: REST.php 286489 2009-07-29 05:59:08Z dufuz $ + * @version CVS: $Id: REST.php 296767 2010-03-25 00:58:33Z dufuz $ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -49020,7 +49078,7 @@ require_once 'PEAR/XMLParser.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -49325,7 +49383,7 @@ class PEAR_REST $request = "GET $path HTTP/1.1\r\n"; } - $request .= "Host: $host:$port\r\n"; + $request .= "Host: $host\r\n"; $ifmodifiedsince = ''; if (is_array($lastmodified)) { if (isset($lastmodified['Last-Modified'])) { @@ -49340,7 +49398,7 @@ class PEAR_REST } $request .= $ifmodifiedsince . - "User-Agent: PEAR/1.9.0/PHP/" . PHP_VERSION . "\r\n"; + "User-Agent: PEAR/1.9.1/PHP/" . PHP_VERSION . "\r\n"; $username = $this->config->get('username', null, $channel); $password = $this->config->get('password', null, $channel); @@ -49437,7 +49495,7 @@ class PEAR_REST return $data; } -} +} /** * PEAR_RunTest * @@ -49449,7 +49507,7 @@ class PEAR_REST * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: RunTest.php 287447 2009-08-18 11:46:19Z dufuz $ + * @version CVS: $Id: RunTest.php 297621 2010-04-07 15:09:33Z sebastian $ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.3.3 */ @@ -49477,7 +49535,7 @@ putenv("PHP_PEAR_RUNTESTS=1"); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.3.3 */ @@ -49809,9 +49867,8 @@ class PEAR_RunTest // We've satisfied the preconditions - run the test! if (isset($this->_options['coverage']) && $this->xdebug_loaded) { $xdebug_file = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'xdebug'; - $text = '<?php'; - $text .= "\n" . 'function coverage_shutdown() {' . - "\n" . ' $xdebug = var_export(xdebug_get_code_coverage(), true);'; + $text = "\n" . 'function coverage_shutdown() {' . + "\n" . ' $xdebug = var_export(xdebug_get_code_coverage(), true);'; if (!function_exists('file_put_contents')) { $text .= "\n" . ' $fh = fopen(\'' . $xdebug_file . '\', "wb");' . "\n" . ' if ($fh !== false) {' . @@ -49827,14 +49884,26 @@ class PEAR_RunTest "\n" . 'register_shutdown_function("coverage_shutdown");'; $text .= "\n" . 'xdebug_start_code_coverage(XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE);' . "\n?>"; - $len_f = 5; - if (substr($section_text['FILE'], 0, 5) != '<?php' - && substr($section_text['FILE'], 0, 2) == '<?') { - $len_f = 2; + // Workaround for http://pear.php.net/bugs/bug.php?id=17292 + $lines = explode("\n", $section_text['FILE']); + $numLines = count($lines); + $namespace = ''; + + for ($i = 0; $i < $numLines; $i++) { + $lines[$i] = trim($lines[$i]); + + if ($lines[$i] == '<?' || $lines[$i] == '<?php') { + unset($lines[$i]); + } + + if (substr($lines[$i], 0, 9) == 'namespace') { + $namespace = $lines[$i] . "\n"; + unset($lines[$i]); + break; + } } - $text .= $section_text['FILE']; - $this->save_text($temp_file, $text); + $this->save_text($temp_file, "<?php\n" . $namespace . join("\n", $lines)); } else { $this->save_text($temp_file, $section_text['FILE']); } @@ -50387,7 +50456,8 @@ $text } } } -} +} + /** * PEAR_Validate * @@ -50421,7 +50491,7 @@ require_once 'PEAR/Validator/PECL.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -51015,7 +51085,7 @@ class PEAR_Validate { return true; } -} +} /** * PEAR_XMLParser * @@ -51040,7 +51110,7 @@ class PEAR_Validate * @author Stephan Schmidt (original XML_Unserializer code) * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -51267,20 +51337,14 @@ class PEAR_XMLParser { $this->_dataStack[$this->_depth] .= $cdata; } -} +} REM ----------------------------------------------------------------------
REM PHP version 5
REM ----------------------------------------------------------------------
-REM Copyright (c) 1997-2004 The PHP Group
+REM Copyright (c) 1997-2010 The Authors
REM ----------------------------------------------------------------------
-REM This source file is subject to version 3.0 of the PHP license,
-REM that is bundled with this package in the file LICENSE, and is
-REM available at through the world-wide-web at
-REM http://www.php.net/license/3_0.txt.
-REM If you did not receive a copy of the PHP license and are unable to
-REM obtain it through the world-wide-web, please send a note to
-REM license@php.net so we can mail you a copy immediately.
+REM http://opensource.org/licenses/bsd-license.php New BSD License
REM ----------------------------------------------------------------------
REM Authors: Alexander Merz (alexmerz@php.net)
REM ----------------------------------------------------------------------
@@ -51300,6 +51364,7 @@ REM Check PEAR global ENV, set them if they do not exist IF "%PHP_PEAR_INSTALL_DIR%"=="" SET "PHP_PEAR_INSTALL_DIR=@include_path@"
IF "%PHP_PEAR_BIN_DIR%"=="" SET "PHP_PEAR_BIN_DIR=@bin_dir@"
IF "%PHP_PEAR_PHP_BIN%"=="" SET "PHP_PEAR_PHP_BIN=@php_bin@"
+
GOTO :INSTALLED
:NOTINSTALLED
@@ -51347,6 +51412,7 @@ IF NOT EXIST "%PHP_PEAR_INSTALL_DIR%" GOTO PEAR_INSTALL_ERROR IF NOT EXIST "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" GOTO PEAR_INSTALL_ERROR2
IF NOT EXIST "%PHP_PEAR_BIN_DIR%" GOTO PEAR_BIN_ERROR
IF NOT EXIST "%PHP_PEAR_PHP_BIN%" GOTO PEAR_PHPBIN_ERROR
+
REM launch pearcmd
GOTO RUN
:PEAR_INSTALL_ERROR
@@ -51379,19 +51445,19 @@ ECHO The current value is: ECHO %PHP_PEAR_PHP_BIN%
GOTO END
:RUN
-"%PHP_PEAR_PHP_BIN%" -C -d output_buffering=1 -d safe_mode=0 -d open_basedir="" -d auto_prepend_file="" -d auto_append_file="" -d variables_order=EGPCS -d register_argc_argv="On" -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9
+"%PHP_PEAR_PHP_BIN%" -C -d output_buffering=1 -d safe_mode=0 -d open_basedir="" -d auto_prepend_file="" -d auto_append_file="" -d variables_order=EGPCS -d register_argc_argv="On" -d "include_path='%PHP_PEAR_INSTALL_DIR%'" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9
:END
-@ECHO ON +@ECHO ON REM ----------------------------------------------------------------------
REM PHP version 5
REM ----------------------------------------------------------------------
REM Copyright (c) 1997-2004 The PHP Group
REM ----------------------------------------------------------------------
-REM This source file is subject to version 3.0 of the PHP license,
+REM This source file is subject to version 3.0 of the PHP license,
REM that is bundled with this package in the file LICENSE, and is
REM available at through the world-wide-web at
-REM http://www.php.net/license/3_0.txt.
+REM http://www.php.net/license/3_0.txt.
REM If you did not receive a copy of the PHP license and are unable to
REM obtain it through the world-wide-web, please send a note to
REM license@php.net so we can mail you a copy immediately.
@@ -51493,19 +51559,19 @@ ECHO The current value is: ECHO %PHP_PEAR_PHP_BIN%
GOTO END
:RUN
-"%PHP_PEAR_PHP_BIN%" -C -d memory_limit="-1" -d safe_mode=0 -d register_argc_argv="On" -d auto_prepend_file="" -d auto_append_file="" -d variables_order=EGPCS -d open_basedir="" -d output_buffering=1 -d include_path="%PHP_PEAR_INSTALL_DIR%" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9
+"%PHP_PEAR_PHP_BIN%" -C -d memory_limit="-1" -d safe_mode=0 -d register_argc_argv="On" -d auto_prepend_file="" -d auto_append_file="" -d variables_order=EGPCS -d open_basedir="" -d output_buffering=1 -d "include_path='%PHP_PEAR_INSTALL_DIR%'" -f "%PHP_PEAR_INSTALL_DIR%\pearcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9
:END
-@ECHO ON +@ECHO ON REM ----------------------------------------------------------------------
REM PHP version 5
REM ----------------------------------------------------------------------
REM Copyright (c) 1997-2004 The PHP Group
REM ----------------------------------------------------------------------
-REM This source file is subject to version 3.0 of the PHP license,
+REM This source file is subject to version 3.0 of the PHP license,
REM that is bundled with this package in the file LICENSE, and is
REM available at through the world-wide-web at
-REM http://www.php.net/license/3_0.txt.
+REM http://www.php.net/license/3_0.txt.
REM If you did not receive a copy of the PHP license and are unable to
REM obtain it through the world-wide-web, please send a note to
REM license@php.net so we can mail you a copy immediately.
@@ -51607,9 +51673,9 @@ ECHO The current value is: ECHO %PHP_PEAR_PHP_BIN%
GOTO END
:RUN
-"%PHP_PEAR_PHP_BIN%" -C -n -d output_buffering=1 -d safe_mode=0 -d include_path="%PHP_PEAR_INSTALL_DIR%" -d register_argc_argv="On" -d variables_order=EGPCS -f "%PHP_PEAR_INSTALL_DIR%\peclcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9
+"%PHP_PEAR_PHP_BIN%" -C -n -d output_buffering=1 -d safe_mode=0 -d "include_path='%PHP_PEAR_INSTALL_DIR%'" -d register_argc_argv="On" -d variables_order=EGPCS -f "%PHP_PEAR_INSTALL_DIR%\peclcmd.php" -- %1 %2 %3 %4 %5 %6 %7 %8 %9
:END
-@ECHO ON +@ECHO ON # first find which PHP binary to use if test "x$PHP_PEAR_PHP_BIN" != "x"; then @@ -51637,7 +51703,7 @@ else fi exec $PHP -C -q $INCARG -d output_buffering=1 -d variables_order=EGPCS -d open_basedir="" -d safe_mode=0 -d register_argc_argv="On" -d auto_prepend_file="" -d auto_append_file="" $INCDIR/pearcmd.php "$@" - + # first find which PHP binary to use if test "x$PHP_PEAR_PHP_BIN" != "x"; then @@ -51665,7 +51731,7 @@ else fi exec $PHP -d memory_limit="-1" -C -q $INCARG -d output_buffering=1 -d open_basedir="" -d safe_mode=0 -d register_argc_argv="On" -d auto_prepend_file="" -d variables_order=EGPCS -d auto_append_file="" $INCDIR/pearcmd.php "$@" - + # first find which PHP binary to use if test "x$PHP_PEAR_PHP_BIN" != "x"; then @@ -51693,7 +51759,7 @@ else fi exec $PHP -C -n -q $INCARG -d output_buffering=1 -d variables_order=EGPCS -d safe_mode=0 -d register_argc_argv="On" $INCDIR/peclcmd.php "$@" - + /** * PEAR, the PHP Extension and Application Repository * @@ -51707,7 +51773,7 @@ exec $PHP -C -n -q $INCARG -d output_buffering=1 -d variables_order=EGPCS -d saf * @author Tomas V.V.Cox <cox@idecnet.com> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: pearcmd.php 286487 2009-07-29 05:57:28Z dufuz $ + * @version CVS: $Id: pearcmd.php 296932 2010-03-27 15:13:06Z dufuz $ * @link http://pear.php.net/package/PEAR */ @@ -52013,18 +52079,17 @@ if ($fetype == 'Gtk' || $fetype == 'Gtk2') { function usage($error = null, $helpsubject = null) { global $progname, $all_commands; - $stderr = fopen('php://stderr', 'w'); + $stdout = fopen('php://stdout', 'w'); if (PEAR::isError($error)) { - fputs($stderr, $error->getMessage() . "\n"); + fputs($stdout, $error->getMessage() . "\n"); } elseif ($error !== null) { - fputs($stderr, "$error\n"); + fputs($stdout, "$error\n"); } if ($helpsubject != null) { $put = cmdHelp($helpsubject); } else { - $put = - "Commands:\n"; + $put = "Commands:\n"; $maxlen = max(array_map("strlen", $all_commands)); $formatstr = "%-{$maxlen}s %s\n"; ksort($all_commands); @@ -52037,8 +52102,8 @@ function usage($error = null, $helpsubject = null) "Type \"$progname help shortcuts\" to list all command shortcuts.\n". "Type \"$progname help <command>\" to get the help for the specified command."; } - fputs($stderr, "$put\n"); - fclose($stderr); + fputs($stdout, "$put\n"); + fclose($stdout); exit(1); } @@ -52137,7 +52202,7 @@ function error_handler($errno, $errmsg, $file, $line, $vars) { * mode: php * End: */ -// vim600:syn=php +// vim600:syn=php /** * PEAR, the PHP Extension and Application Repository * @@ -52178,7 +52243,7 @@ require_once 'pearcmd.php'; // vim600:syn=php ?> - + Stig Bakken <ssb@php.net>, Gregory Beaver <cellog@php.net>, Helgi Þormar Þorbjörnsson <helgi@php.net>, @@ -52205,7 +52270,7 @@ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - + ========================= Installing the PEAR Installer. @@ -52235,19 +52300,20 @@ and run the go-pear command. Unix ==== -make sure you have enabled default extensions, and if you want faster -downloads, enable the zlib extension. You must also enable the CLI -SAPI with the --enable-cli extension directive. After this, simply run: - -make install-pear - -and PEAR will be automatically configured for you. +When compiling PHP from source, you simply need to include the +--with-pear directive on the "./configure" command. This is "on" +by default in most PHP versions, but it doesn't hurt to list it +explicitly. You should also consider enabling the zlib extension via +--enable-zlib, so that the PEAR installer will be able to handle gzipped +files (i.e. smaller package files for faster downloads). Later, when you +run "make install" to install PHP itself, part of the process will be +prompts that ask you where you want PEAR to be installed. go-pear ======= For users who cannot perform the above steps, or who wish to obtain the latest PEAR with a slightly higher risk of failure, use go-pear. go-pear -is obtained by downloading http://go-pear.org and saving it as go-pear.php. +is obtained by downloading http://pear.php.net/go-pear and saving it as go-pear.php. After downloading, simply run "php go-pear.php" or open it in a web browser (windows only) to download and install PEAR. @@ -52257,7 +52323,7 @@ related issues. Happy PHPing, we hope PEAR will be a great tool for your development work! -$Id: INSTALL 220345 2006-09-22 03:31:36Z cellog $ +$Id: INSTALL 289056 2009-10-01 16:50:43Z ashnazg $ $Id: package.dtd,v 1.38 2005-11-12 02:23:07 cellog Exp $ This is the PEAR package description, version 1.0. @@ -52360,7 +52426,7 @@ $Id: INSTALL 220345 2006-09-22 03:31:36Z cellog $ to CDATA #REQUIRED> - + /** * This is only meant for PHP 5 to get rid of certain strict warning * that doesn't get hidden since it's in the shutdown function @@ -52392,7 +52458,7 @@ class PEAR5 return $properties[$class][$var]; } -} +} /** * PEAR, the PHP Extension and Application Repository * @@ -52406,9 +52472,9 @@ class PEAR5 * @author Stig Bakken <ssb@php.net> * @author Tomas V.V.Cox <cox@idecnet.com> * @author Greg Beaver <cellog@php.net> - * @copyright 1997-2009 The Authors + * @copyright 1997-2010 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: PEAR.php 286670 2009-08-02 14:16:06Z dufuz $ + * @version CVS: $Id: PEAR.php 299159 2010-05-08 22:32:52Z dufuz $ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -52472,7 +52538,7 @@ $GLOBALS['_PEAR_error_handler_stack'] = array(); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @see PEAR_Error * @since Class available since PHP 4.0.2 @@ -52480,8 +52546,6 @@ $GLOBALS['_PEAR_error_handler_stack'] = array(); */ class PEAR { - // {{{ properties - /** * Whether to enable internal debug messages. * @@ -52532,10 +52596,6 @@ class PEAR */ var $_expected_errors = array(); - // }}} - - // {{{ constructor - /** * Constructor. Registers this object in * $_PEAR_destructor_object_list for destructor emulation if a @@ -52552,9 +52612,11 @@ class PEAR if ($this->_debug) { print "PEAR constructor called, class=$classname\n"; } + if ($error_class !== null) { $this->_error_class = $error_class; } + while ($classname && strcasecmp($classname, "pear")) { $destructor = "_$classname"; if (method_exists($this, $destructor)) { @@ -52571,9 +52633,6 @@ class PEAR } } - // }}} - // {{{ destructor - /** * Destructor (the emulated type of...). Does nothing right now, * but is included for forward compatibility, so subclass @@ -52591,9 +52650,6 @@ class PEAR } } - // }}} - // {{{ getStaticProperty() - /** * If you have a class that's mostly/entirely static, and you need static * properties, you can use this method to simulate them. Eg. in your method(s) @@ -52620,9 +52676,6 @@ class PEAR return $properties[$class][$var]; } - // }}} - // {{{ registerShutdownFunc() - /** * Use this function to register a shutdown method for static * classes. @@ -52643,9 +52696,6 @@ class PEAR $GLOBALS['_PEAR_shutdown_funcs'][] = array($func, $args); } - // }}} - // {{{ isError() - /** * Tell whether a value is a PEAR error. * @@ -52672,9 +52722,6 @@ class PEAR return $data->getCode() == $code; } - // }}} - // {{{ setErrorHandling() - /** * Sets how errors generated by this object should be handled. * Can be invoked both in objects and statically. If called @@ -52713,7 +52760,6 @@ class PEAR * * @since PHP 4.0.5 */ - function setErrorHandling($mode = null, $options = null) { if (isset($this) && is_a($this, 'PEAR')) { @@ -52751,9 +52797,6 @@ class PEAR } } - // }}} - // {{{ expectError() - /** * This method is used to tell which errors you expect to get. * Expected errors are always returned with error mode @@ -52776,12 +52819,9 @@ class PEAR } else { array_push($this->_expected_errors, array($code)); } - return sizeof($this->_expected_errors); + return count($this->_expected_errors); } - // }}} - // {{{ popExpect() - /** * This method pops one element off the expected error codes * stack. @@ -52793,9 +52833,6 @@ class PEAR return array_pop($this->_expected_errors); } - // }}} - // {{{ _checkDelExpect() - /** * This method checks unsets an error code if available * @@ -52807,8 +52844,7 @@ class PEAR function _checkDelExpect($error_code) { $deleted = false; - - foreach ($this->_expected_errors AS $key => $error_array) { + foreach ($this->_expected_errors as $key => $error_array) { if (in_array($error_code, $error_array)) { unset($this->_expected_errors[$key][array_search($error_code, $error_array)]); $deleted = true; @@ -52819,12 +52855,10 @@ class PEAR unset($this->_expected_errors[$key]); } } + return $deleted; } - // }}} - // {{{ delExpect() - /** * This method deletes all occurences of the specified element from * the expected error codes stack. @@ -52838,33 +52872,26 @@ class PEAR { $deleted = false; if ((is_array($error_code) && (0 != count($error_code)))) { - // $error_code is a non-empty array here; - // we walk through it trying to unset all - // values - foreach($error_code as $key => $error) { - if ($this->_checkDelExpect($error)) { - $deleted = true; - } else { - $deleted = false; - } + // $error_code is a non-empty array here; we walk through it trying + // to unset all values + foreach ($error_code as $key => $error) { + $deleted = $this->_checkDelExpect($error) ? true : false; } + return $deleted ? true : PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME } elseif (!empty($error_code)) { // $error_code comes alone, trying to unset it if ($this->_checkDelExpect($error_code)) { return true; - } else { - return PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME } + + return PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME } // $error_code is empty return PEAR::raiseError("The expected error you submitted is empty"); // IMPROVE ME } - // }}} - // {{{ raiseError() - /** * This method is a wrapper that returns an instance of the * configured error class with this object's default error @@ -52919,10 +52946,16 @@ class PEAR $message = $message->getMessage(); } - if (isset($this) && isset($this->_expected_errors) && sizeof($this->_expected_errors) > 0 && sizeof($exp = end($this->_expected_errors))) { + if ( + isset($this) && + isset($this->_expected_errors) && + count($this->_expected_errors) > 0 && + count($exp = end($this->_expected_errors)) + ) { if ($exp[0] == "*" || (is_int(reset($exp)) && in_array($code, $exp)) || - (is_string(reset($exp)) && in_array($message, $exp))) { + (is_string(reset($exp)) && in_array($message, $exp)) + ) { $mode = PEAR_ERROR_RETURN; } } @@ -52963,19 +52996,23 @@ class PEAR return $a; } - // }}} - // {{{ throwError() - /** * Simpler form of raiseError with fewer options. In most cases * message, code and userinfo are enough. * - * @param string $message + * @param mixed $message a text error message or a PEAR error object + * + * @param int $code a numeric error code (it is up to your class + * to define these if you want to use codes) + * + * @param string $userinfo If you need to pass along for example debug + * information, this parameter is meant for that. * + * @access public + * @return object a PEAR error object + * @see PEAR::raiseError */ - function &throwError($message = null, - $code = null, - $userinfo = null) + function &throwError($message = null, $code = null, $userinfo = null) { if (isset($this) && is_a($this, 'PEAR')) { $a = &$this->raiseError($message, $code, null, null, $userinfo); @@ -52986,10 +53023,9 @@ class PEAR return $a; } - // }}} function staticPushErrorHandling($mode, $options = null) { - $stack = &$GLOBALS['_PEAR_error_handler_stack']; + $stack = &$GLOBALS['_PEAR_error_handler_stack']; $def_mode = &$GLOBALS['_PEAR_default_error_mode']; $def_options = &$GLOBALS['_PEAR_default_error_options']; $stack[] = array($def_mode, $def_options); @@ -53058,8 +53094,6 @@ class PEAR return true; } - // {{{ pushErrorHandling() - /** * Push a new error handler on top of the error handler options stack. With this * you can easily override the actual error handler for some code and restore @@ -53093,9 +53127,6 @@ class PEAR return true; } - // }}} - // {{{ popErrorHandling() - /** * Pop the last error handler used * @@ -53117,9 +53148,6 @@ class PEAR return true; } - // }}} - // {{{ loadExtension() - /** * OS independant PHP extension load. Remember to take care * on the correct extension name for case sensitive OSes. @@ -53129,39 +53157,39 @@ class PEAR */ function loadExtension($ext) { - if (!extension_loaded($ext)) { - // if either returns true dl() will produce a FATAL error, stop that - if ((ini_get('enable_dl') != 1) || (ini_get('safe_mode') == 1)) { - return false; - } + if (extension_loaded($ext)) { + return true; + } - if (OS_WINDOWS) { - $suffix = '.dll'; - } elseif (PHP_OS == 'HP-UX') { - $suffix = '.sl'; - } elseif (PHP_OS == 'AIX') { - $suffix = '.a'; - } elseif (PHP_OS == 'OSX') { - $suffix = '.bundle'; - } else { - $suffix = '.so'; - } + // if either returns true dl() will produce a FATAL error, stop that + if ( + function_exists('dl') === false || + ini_get('enable_dl') != 1 || + ini_get('safe_mode') == 1 + ) { + return false; + } - return @dl('php_'.$ext.$suffix) || @dl($ext.$suffix); + if (OS_WINDOWS) { + $suffix = '.dll'; + } elseif (PHP_OS == 'HP-UX') { + $suffix = '.sl'; + } elseif (PHP_OS == 'AIX') { + $suffix = '.a'; + } elseif (PHP_OS == 'OSX') { + $suffix = '.bundle'; + } else { + $suffix = '.so'; } - return true; + return @dl('php_'.$ext.$suffix) || @dl($ext.$suffix); } - - // }}} } if (PEAR_ZE2) { include_once 'PEAR5.php'; } -// {{{ _PEAR_call_destructors() - function _PEAR_call_destructors() { global $_PEAR_destructor_object_list; @@ -53197,14 +53225,17 @@ function _PEAR_call_destructors() } // Now call the shutdown functions - if (isset($GLOBALS['_PEAR_shutdown_funcs']) AND is_array($GLOBALS['_PEAR_shutdown_funcs']) AND !empty($GLOBALS['_PEAR_shutdown_funcs'])) { + if ( + isset($GLOBALS['_PEAR_shutdown_funcs']) && + is_array($GLOBALS['_PEAR_shutdown_funcs']) && + !empty($GLOBALS['_PEAR_shutdown_funcs']) + ) { foreach ($GLOBALS['_PEAR_shutdown_funcs'] as $value) { call_user_func_array($value[0], $value[1]); } } } -// }}} /** * Standard PEAR error class for PHP 4 * @@ -53217,15 +53248,13 @@ function _PEAR_call_destructors() * @author Gregory Beaver <cellog@php.net> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/manual/en/core.pear.pear-error.php * @see PEAR::raiseError(), PEAR::throwError() * @since Class available since PHP 4.0.2 */ class PEAR_Error { - // {{{ properties - var $error_message_prefix = ''; var $mode = PEAR_ERROR_RETURN; var $level = E_USER_NOTICE; @@ -53234,9 +53263,6 @@ class PEAR_Error var $userinfo = ''; var $backtrace = null; - // }}} - // {{{ constructor - /** * PEAR_Error constructor * @@ -53320,10 +53346,8 @@ class PEAR_Error die(sprintf($format, $msg)); } - if ($this->mode & PEAR_ERROR_CALLBACK) { - if (is_callable($this->callback)) { - call_user_func($this->callback, $this); - } + if ($this->mode & PEAR_ERROR_CALLBACK && is_callable($this->callback)) { + call_user_func($this->callback, $this); } if ($this->mode & PEAR_ERROR_EXCEPTION) { @@ -53332,36 +53356,28 @@ class PEAR_Error } } - // }}} - // {{{ getMode() - /** * Get the error mode from an error object. * * @return int error mode * @access public */ - function getMode() { + function getMode() + { return $this->mode; } - // }}} - // {{{ getCallback() - /** * Get the callback function/method from an error object. * * @return mixed callback function or object/method array * @access public */ - function getCallback() { + function getCallback() + { return $this->callback; } - // }}} - // {{{ getMessage() - - /** * Get the error message from an error object. * @@ -53373,10 +53389,6 @@ class PEAR_Error return ($this->error_message_prefix . $this->message); } - - // }}} - // {{{ getCode() - /** * Get error code from an error object * @@ -53388,9 +53400,6 @@ class PEAR_Error return $this->code; } - // }}} - // {{{ getType() - /** * Get the name of this error/exception. * @@ -53402,9 +53411,6 @@ class PEAR_Error return get_class($this); } - // }}} - // {{{ getUserInfo() - /** * Get additional user-supplied information. * @@ -53416,9 +53422,6 @@ class PEAR_Error return $this->userinfo; } - // }}} - // {{{ getDebugInfo() - /** * Get additional debug information supplied by the application. * @@ -53430,9 +53433,6 @@ class PEAR_Error return $this->getUserInfo(); } - // }}} - // {{{ getBacktrace() - /** * Get the call backtrace from where the error was generated. * Supported with PHP 4.3.0 or newer. @@ -53452,9 +53452,6 @@ class PEAR_Error return $this->backtrace[$frame]; } - // }}} - // {{{ addUserInfo() - function addUserInfo($info) { if (empty($this->userinfo)) { @@ -53464,14 +53461,10 @@ class PEAR_Error } } - // }}} - // {{{ toString() function __toString() { return $this->getMessage(); } - // }}} - // {{{ toString() /** * Make a string representation of this object. @@ -53479,7 +53472,8 @@ class PEAR_Error * @return string a string with an object summary * @access public */ - function toString() { + function toString() + { $modes = array(); $levels = array(E_USER_NOTICE => 'notice', E_USER_WARNING => 'warning', @@ -53518,8 +53512,6 @@ class PEAR_Error $this->error_message_prefix, $this->userinfo); } - - // }}} } /* @@ -53529,7 +53521,7 @@ class PEAR_Error * c-basic-offset: 4 * End: */ - + ========================= What is the PEAR Installer? What is PEAR? @@ -53560,7 +53552,7 @@ prior to use. Happy PHPing, we hope PEAR will be a great tool for your development work! -$Id: README 220345 2006-09-22 03:31:36Z cellog $ +$Id: README 220345 2006-09-22 03:31:36Z cellog $ /** * File/Directory manipulation * @@ -53613,7 +53605,7 @@ $GLOBALS['_System_temp_files'] = array(); * @author Tomas V.V. Cox <cox@idecnet.com> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License -* @version Release: 1.9.0 +* @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 * @static @@ -54180,7 +54172,7 @@ class System } return $files; } -} +} Name: @rpm_package@ Version: @version@ Release: 1 @@ -54252,9 +54244,9 @@ cp -p package@package2xml@.xml %{buildroot}@rpm_xml_dir@/@package@.xml %defattr(-,root,root) %doc @doc_files@ / - + <!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> -<package version="1.0" packagerversion="1.9.0RC4"> +<package version="1.0" packagerversion="1.9.1"> <name>PEAR</name> <summary>PEAR Base System</summary> <description>The PEAR package contains: @@ -54340,16 +54332,27 @@ cp -p package@package2xml@.xml %{buildroot}@rpm_xml_dir@/@package@.xml </maintainer> </maintainers> <release> - <version>1.9.0</version> - <date>2009-09-03</date> + <version>1.9.1</version> + <date>2010-05-26</date> <license>New BSD License</license> <state>stable</state> - <notes>* Fix Bug #16547: The phar for PEAR installer uses ereg() which is deprecated [dufuz] + <notes>* svntag improvements, tag package files passed into the command and better directory checks [dufuz] +* rely on Structures_Graph minimum version instead of recommended version [saltybeagle] +* Fix Bug #12613: running go-pear.phar from C:\ fails [dufuz] +* Fix Bug #14841: Installing pear into directory with space fails [dufuz] +* Fix Bug #16644: pear.bat returns syntax error when parenthesis are in install path. [dufuz] [patch by bwaters (Bryan Waters)] +* Fix Bug #16767: Use of Depreciated HTML Attributes in the Exception class [dufuz] [patch by fuhrysteve (Stephen J. Fuhry)] +* Fix Bug #16864: "pear list-upgrades -i" issues E_WARNINGS [dufuz] [patch by rquadling (Richard Quadling)] +* Fix Bug #17220: command `pear help` outputs to stderr instead of stdout [dufuz] +* Fix Bug #17234: channel-discover adds port to HTTP Host header [dufuz] +* Fix Bug #17292: Code Coverage in PEAR_RunTest does not work with namespaces [sebastian] +* Fix Bug #17359: loadExtension() fails over missing dl() when used in multithread env [dufuz] +* Fix Bug #17378: pear info $package fails if directory with that name exists [dufuz] </notes> <deps> <dep type="php" rel="ge" version="4.4.0"/> <dep type="pkg" rel="ge" version="1.3.3">PEAR</dep> - <dep type="pkg" rel="ge" version="1.3.1">Archive_Tar</dep> + <dep type="pkg" rel="ge" version="1.3.7">Archive_Tar</dep> <dep type="pkg" rel="ge" version="1.2">Console_Getopt</dep> <dep type="pkg" rel="ge" version="1.0.2">Structures_Graph</dep> <dep type="pkg" rel="ge" version="0.5.0" optional="yes">PEAR_Frontend_Web</dep> @@ -54873,9 +54876,17 @@ Alpha1 Release Notes: <notes>* Fix Bug #16547: The phar for PEAR installer uses ereg() which is deprecated [dufuz] </notes> </release> + <release> + <version>1.9.1</version> + <date>2009-09-XX</date> + <license>New BSD License</license> + <state>stable</state> + <notes>* svntag improvements, tag package files passed into the command and better directory checks [dufuz] + </notes> + </release> </changelog> </package> - + /** * PEAR, the PHP Extension and Application Repository * @@ -54889,9 +54900,9 @@ Alpha1 Release Notes: * @author Stig Bakken <ssb@php.net> * @author Tomas V.V.Cox <cox@idecnet.com> * @author Greg Beaver <cellog@php.net> - * @copyright 1997-2009 The Authors + * @copyright 1997-2010 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: PEAR.php 286670 2009-08-02 14:16:06Z dufuz $ + * @version CVS: $Id: PEAR.php 299159 2010-05-08 22:32:52Z dufuz $ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -54955,7 +54966,7 @@ $GLOBALS['_PEAR_error_handler_stack'] = array(); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @see PEAR_Error * @since Class available since PHP 4.0.2 @@ -54963,8 +54974,6 @@ $GLOBALS['_PEAR_error_handler_stack'] = array(); */ class PEAR { - // {{{ properties - /** * Whether to enable internal debug messages. * @@ -55015,10 +55024,6 @@ class PEAR */ var $_expected_errors = array(); - // }}} - - // {{{ constructor - /** * Constructor. Registers this object in * $_PEAR_destructor_object_list for destructor emulation if a @@ -55035,9 +55040,11 @@ class PEAR if ($this->_debug) { print "PEAR constructor called, class=$classname\n"; } + if ($error_class !== null) { $this->_error_class = $error_class; } + while ($classname && strcasecmp($classname, "pear")) { $destructor = "_$classname"; if (method_exists($this, $destructor)) { @@ -55054,9 +55061,6 @@ class PEAR } } - // }}} - // {{{ destructor - /** * Destructor (the emulated type of...). Does nothing right now, * but is included for forward compatibility, so subclass @@ -55074,9 +55078,6 @@ class PEAR } } - // }}} - // {{{ getStaticProperty() - /** * If you have a class that's mostly/entirely static, and you need static * properties, you can use this method to simulate them. Eg. in your method(s) @@ -55103,9 +55104,6 @@ class PEAR return $properties[$class][$var]; } - // }}} - // {{{ registerShutdownFunc() - /** * Use this function to register a shutdown method for static * classes. @@ -55126,9 +55124,6 @@ class PEAR $GLOBALS['_PEAR_shutdown_funcs'][] = array($func, $args); } - // }}} - // {{{ isError() - /** * Tell whether a value is a PEAR error. * @@ -55155,9 +55150,6 @@ class PEAR return $data->getCode() == $code; } - // }}} - // {{{ setErrorHandling() - /** * Sets how errors generated by this object should be handled. * Can be invoked both in objects and statically. If called @@ -55196,7 +55188,6 @@ class PEAR * * @since PHP 4.0.5 */ - function setErrorHandling($mode = null, $options = null) { if (isset($this) && is_a($this, 'PEAR')) { @@ -55234,9 +55225,6 @@ class PEAR } } - // }}} - // {{{ expectError() - /** * This method is used to tell which errors you expect to get. * Expected errors are always returned with error mode @@ -55259,12 +55247,9 @@ class PEAR } else { array_push($this->_expected_errors, array($code)); } - return sizeof($this->_expected_errors); + return count($this->_expected_errors); } - // }}} - // {{{ popExpect() - /** * This method pops one element off the expected error codes * stack. @@ -55276,9 +55261,6 @@ class PEAR return array_pop($this->_expected_errors); } - // }}} - // {{{ _checkDelExpect() - /** * This method checks unsets an error code if available * @@ -55290,8 +55272,7 @@ class PEAR function _checkDelExpect($error_code) { $deleted = false; - - foreach ($this->_expected_errors AS $key => $error_array) { + foreach ($this->_expected_errors as $key => $error_array) { if (in_array($error_code, $error_array)) { unset($this->_expected_errors[$key][array_search($error_code, $error_array)]); $deleted = true; @@ -55302,12 +55283,10 @@ class PEAR unset($this->_expected_errors[$key]); } } + return $deleted; } - // }}} - // {{{ delExpect() - /** * This method deletes all occurences of the specified element from * the expected error codes stack. @@ -55321,33 +55300,26 @@ class PEAR { $deleted = false; if ((is_array($error_code) && (0 != count($error_code)))) { - // $error_code is a non-empty array here; - // we walk through it trying to unset all - // values - foreach($error_code as $key => $error) { - if ($this->_checkDelExpect($error)) { - $deleted = true; - } else { - $deleted = false; - } + // $error_code is a non-empty array here; we walk through it trying + // to unset all values + foreach ($error_code as $key => $error) { + $deleted = $this->_checkDelExpect($error) ? true : false; } + return $deleted ? true : PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME } elseif (!empty($error_code)) { // $error_code comes alone, trying to unset it if ($this->_checkDelExpect($error_code)) { return true; - } else { - return PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME } + + return PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME } // $error_code is empty return PEAR::raiseError("The expected error you submitted is empty"); // IMPROVE ME } - // }}} - // {{{ raiseError() - /** * This method is a wrapper that returns an instance of the * configured error class with this object's default error @@ -55402,10 +55374,16 @@ class PEAR $message = $message->getMessage(); } - if (isset($this) && isset($this->_expected_errors) && sizeof($this->_expected_errors) > 0 && sizeof($exp = end($this->_expected_errors))) { + if ( + isset($this) && + isset($this->_expected_errors) && + count($this->_expected_errors) > 0 && + count($exp = end($this->_expected_errors)) + ) { if ($exp[0] == "*" || (is_int(reset($exp)) && in_array($code, $exp)) || - (is_string(reset($exp)) && in_array($message, $exp))) { + (is_string(reset($exp)) && in_array($message, $exp)) + ) { $mode = PEAR_ERROR_RETURN; } } @@ -55446,19 +55424,23 @@ class PEAR return $a; } - // }}} - // {{{ throwError() - /** * Simpler form of raiseError with fewer options. In most cases * message, code and userinfo are enough. * - * @param string $message + * @param mixed $message a text error message or a PEAR error object + * + * @param int $code a numeric error code (it is up to your class + * to define these if you want to use codes) + * + * @param string $userinfo If you need to pass along for example debug + * information, this parameter is meant for that. * + * @access public + * @return object a PEAR error object + * @see PEAR::raiseError */ - function &throwError($message = null, - $code = null, - $userinfo = null) + function &throwError($message = null, $code = null, $userinfo = null) { if (isset($this) && is_a($this, 'PEAR')) { $a = &$this->raiseError($message, $code, null, null, $userinfo); @@ -55469,10 +55451,9 @@ class PEAR return $a; } - // }}} function staticPushErrorHandling($mode, $options = null) { - $stack = &$GLOBALS['_PEAR_error_handler_stack']; + $stack = &$GLOBALS['_PEAR_error_handler_stack']; $def_mode = &$GLOBALS['_PEAR_default_error_mode']; $def_options = &$GLOBALS['_PEAR_default_error_options']; $stack[] = array($def_mode, $def_options); @@ -55541,8 +55522,6 @@ class PEAR return true; } - // {{{ pushErrorHandling() - /** * Push a new error handler on top of the error handler options stack. With this * you can easily override the actual error handler for some code and restore @@ -55576,9 +55555,6 @@ class PEAR return true; } - // }}} - // {{{ popErrorHandling() - /** * Pop the last error handler used * @@ -55600,9 +55576,6 @@ class PEAR return true; } - // }}} - // {{{ loadExtension() - /** * OS independant PHP extension load. Remember to take care * on the correct extension name for case sensitive OSes. @@ -55612,39 +55585,39 @@ class PEAR */ function loadExtension($ext) { - if (!extension_loaded($ext)) { - // if either returns true dl() will produce a FATAL error, stop that - if ((ini_get('enable_dl') != 1) || (ini_get('safe_mode') == 1)) { - return false; - } + if (extension_loaded($ext)) { + return true; + } - if (OS_WINDOWS) { - $suffix = '.dll'; - } elseif (PHP_OS == 'HP-UX') { - $suffix = '.sl'; - } elseif (PHP_OS == 'AIX') { - $suffix = '.a'; - } elseif (PHP_OS == 'OSX') { - $suffix = '.bundle'; - } else { - $suffix = '.so'; - } + // if either returns true dl() will produce a FATAL error, stop that + if ( + function_exists('dl') === false || + ini_get('enable_dl') != 1 || + ini_get('safe_mode') == 1 + ) { + return false; + } - return @dl('php_'.$ext.$suffix) || @dl($ext.$suffix); + if (OS_WINDOWS) { + $suffix = '.dll'; + } elseif (PHP_OS == 'HP-UX') { + $suffix = '.sl'; + } elseif (PHP_OS == 'AIX') { + $suffix = '.a'; + } elseif (PHP_OS == 'OSX') { + $suffix = '.bundle'; + } else { + $suffix = '.so'; } - return true; + return @dl('php_'.$ext.$suffix) || @dl($ext.$suffix); } - - // }}} } if (PEAR_ZE2) { include_once 'phar://install-pear-nozlib.phar/' . 'PEAR5.php'; } -// {{{ _PEAR_call_destructors() - function _PEAR_call_destructors() { global $_PEAR_destructor_object_list; @@ -55680,14 +55653,17 @@ function _PEAR_call_destructors() } // Now call the shutdown functions - if (isset($GLOBALS['_PEAR_shutdown_funcs']) AND is_array($GLOBALS['_PEAR_shutdown_funcs']) AND !empty($GLOBALS['_PEAR_shutdown_funcs'])) { + if ( + isset($GLOBALS['_PEAR_shutdown_funcs']) && + is_array($GLOBALS['_PEAR_shutdown_funcs']) && + !empty($GLOBALS['_PEAR_shutdown_funcs']) + ) { foreach ($GLOBALS['_PEAR_shutdown_funcs'] as $value) { call_user_func_array($value[0], $value[1]); } } } -// }}} /** * Standard PEAR error class for PHP 4 * @@ -55700,15 +55676,13 @@ function _PEAR_call_destructors() * @author Gregory Beaver <cellog@php.net> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/manual/en/core.pear.pear-error.php * @see PEAR::raiseError(), PEAR::throwError() * @since Class available since PHP 4.0.2 */ class PEAR_Error { - // {{{ properties - var $error_message_prefix = ''; var $mode = PEAR_ERROR_RETURN; var $level = E_USER_NOTICE; @@ -55717,9 +55691,6 @@ class PEAR_Error var $userinfo = ''; var $backtrace = null; - // }}} - // {{{ constructor - /** * PEAR_Error constructor * @@ -55803,10 +55774,8 @@ class PEAR_Error die(sprintf($format, $msg)); } - if ($this->mode & PEAR_ERROR_CALLBACK) { - if (is_callable($this->callback)) { - call_user_func($this->callback, $this); - } + if ($this->mode & PEAR_ERROR_CALLBACK && is_callable($this->callback)) { + call_user_func($this->callback, $this); } if ($this->mode & PEAR_ERROR_EXCEPTION) { @@ -55815,36 +55784,28 @@ class PEAR_Error } } - // }}} - // {{{ getMode() - /** * Get the error mode from an error object. * * @return int error mode * @access public */ - function getMode() { + function getMode() + { return $this->mode; } - // }}} - // {{{ getCallback() - /** * Get the callback function/method from an error object. * * @return mixed callback function or object/method array * @access public */ - function getCallback() { + function getCallback() + { return $this->callback; } - // }}} - // {{{ getMessage() - - /** * Get the error message from an error object. * @@ -55856,10 +55817,6 @@ class PEAR_Error return ($this->error_message_prefix . $this->message); } - - // }}} - // {{{ getCode() - /** * Get error code from an error object * @@ -55871,9 +55828,6 @@ class PEAR_Error return $this->code; } - // }}} - // {{{ getType() - /** * Get the name of this error/exception. * @@ -55885,9 +55839,6 @@ class PEAR_Error return get_class($this); } - // }}} - // {{{ getUserInfo() - /** * Get additional user-supplied information. * @@ -55899,9 +55850,6 @@ class PEAR_Error return $this->userinfo; } - // }}} - // {{{ getDebugInfo() - /** * Get additional debug information supplied by the application. * @@ -55913,9 +55861,6 @@ class PEAR_Error return $this->getUserInfo(); } - // }}} - // {{{ getBacktrace() - /** * Get the call backtrace from where the error was generated. * Supported with PHP 4.3.0 or newer. @@ -55935,9 +55880,6 @@ class PEAR_Error return $this->backtrace[$frame]; } - // }}} - // {{{ addUserInfo() - function addUserInfo($info) { if (empty($this->userinfo)) { @@ -55947,14 +55889,10 @@ class PEAR_Error } } - // }}} - // {{{ toString() function __toString() { return $this->getMessage(); } - // }}} - // {{{ toString() /** * Make a string representation of this object. @@ -55962,7 +55900,8 @@ class PEAR_Error * @return string a string with an object summary * @access public */ - function toString() { + function toString() + { $modes = array(); $levels = array(E_USER_NOTICE => 'notice', E_USER_WARNING => 'warning', @@ -56001,8 +55940,6 @@ class PEAR_Error $this->error_message_prefix, $this->userinfo); } - - // }}} } /* @@ -56160,7 +56097,7 @@ $GLOBALS['_PEAR_CHANNELS_MIRROR_TYPES'] = array('server'); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -57598,7 +57535,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/ChannelFile.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -57733,7 +57670,7 @@ $GLOBALS['_PEAR_Command_objects'] = array(); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -58081,7 +58018,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -58354,7 +58291,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Command/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -59982,7 +59919,7 @@ $GLOBALS['_PEAR_Common_script_phases'] = array('pre-install', 'post-install', 'p * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 * @deprecated This class will disappear, and its components will be spread @@ -60946,7 +60883,7 @@ if (getenv('PHP_PEAR_SIG_KEYDIR')) { * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -62828,7 +62765,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Validate.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -63338,7 +63275,7 @@ class PEAR_Dependency2 */ function getPEARVersion() { - return '1.9.0'; + return '1.9.1'; } function validatePearinstallerDependency($dep) @@ -64184,7 +64121,7 @@ $GLOBALS['_PEAR_DEPENDENCYDB_INSTANCE'] = array(); * @author Tomas V.V.Cox <cox@idec.net.com> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -64934,7 +64871,7 @@ class PEAR_DependencyDB * @author Martin Jansen <mj@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Downloader.php 287109 2009-08-11 18:50:30Z dufuz $ + * @version CVS: $Id: Downloader.php 296767 2010-03-25 00:58:33Z dufuz $ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.3.0 */ @@ -64961,7 +64898,7 @@ define('PEAR_INSTALLER_ERROR_NO_PREF_STATE', 2); * @author Martin Jansen <mj@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.3.0 */ @@ -66517,7 +66454,7 @@ class PEAR_Downloader extends PEAR_Common if ($lastmodified === false || $lastmodified) { $request = "GET $url HTTP/1.1\r\n"; - $request .= "Host: $host:$port\r\n"; + $request .= "Host: $host\r\n"; } else { $request = "GET $url HTTP/1.0\r\n"; $request .= "Host: $host\r\n"; @@ -66539,7 +66476,7 @@ class PEAR_Downloader extends PEAR_Common if ($lastmodified === false || $lastmodified) { $request = "GET $path HTTP/1.1\r\n"; - $request .= "Host: $host:$port\r\n"; + $request .= "Host: $host\r\n"; } else { $request = "GET $path HTTP/1.0\r\n"; $request .= "Host: $host\r\n"; @@ -66560,7 +66497,7 @@ class PEAR_Downloader extends PEAR_Common } $request .= $ifmodifiedsince . - "User-Agent: PEAR/1.9.0/PHP/" . PHP_VERSION . "\r\n"; + "User-Agent: PEAR/1.9.1/PHP/" . PHP_VERSION . "\r\n"; if (isset($this)) { // only pass in authentication for non-static calls $username = $config->get('username', null, $channel); @@ -66733,7 +66670,7 @@ define('PEAR_DOWNLOADER_PACKAGE_PHPVERSION', -1004); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -68818,7 +68755,7 @@ define('PEAR_ERRORSTACK_ERR_OBJTOSTRING', 2); * $local_stack = new PEAR_ErrorStack('MyPackage'); * </code> * @author Greg Beaver <cellog@php.net> - * @version 1.9.0 + * @version 1.9.1 * @package PEAR_ErrorStack * @category Debugging * @copyright 2004-2008 Greg Beaver @@ -69710,7 +69647,7 @@ $GLOBALS['_PEAR_FRONTEND_SINGLETON'] = null; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -69908,7 +69845,7 @@ class PEAR_Frontend extends PEAR * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: CLI.php 278236 2009-04-04 00:09:14Z dufuz $ + * @version CVS: $Id: CLI.php 296938 2010-03-27 16:16:25Z dufuz $ * @link http://pear.php.net/package/PEAR * @since File available since Release 0.1 */ @@ -69925,7 +69862,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Frontend.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -70410,9 +70347,13 @@ class PEAR_Frontend_CLI extends PEAR_Frontend $opts); } - foreach($data['data'] as $row) { - $this->_tableRow($row, null, $opts); - } + if (is_array($data['data'])) { + foreach($data['data'] as $row) { + $this->_tableRow($row, null, $opts); + } + } else { + $this->_tableRow(array($data['data']), null, $opts); + } $this->_endTable(); } else { $this->_displayLine($data); @@ -70665,7 +70606,7 @@ define('PEAR_INSTALLER_NOBINARY', -240); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 */ @@ -72476,7 +72417,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/XMLParser.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -72750,7 +72691,7 @@ class PEAR_Installer_Role * @author Greg Beaver <cellog@php.net> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -72919,7 +72860,7 @@ class PEAR_Installer_Role_Common * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -72960,7 +72901,7 @@ class PEAR_Installer_Role_Data extends PEAR_Installer_Role_Common {} * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -73001,7 +72942,7 @@ class PEAR_Installer_Role_Doc extends PEAR_Installer_Role_Common {} * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -73042,7 +72983,7 @@ class PEAR_Installer_Role_Php extends PEAR_Installer_Role_Common {} * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -73083,7 +73024,7 @@ class PEAR_Installer_Role_Script extends PEAR_Installer_Role_Common {} * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -73139,7 +73080,7 @@ define('PEAR_PACKAGEFILE_ERROR_INVALID_PACKAGEVERSION', 2); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -73633,7 +73574,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/PackageFile/v2.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -73650,7 +73591,7 @@ class PEAR_PackageFile_Generator_v1 function getPackagerVersion() { - return '1.9.0'; + return '1.9.1'; } /** @@ -73804,7 +73745,7 @@ class PEAR_PackageFile_Generator_v1 ); $ret = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"; $ret .= "<!DOCTYPE package SYSTEM \"http://pear.php.net/dtd/package-1.0\">\n"; - $ret .= "<package version=\"1.0\" packagerversion=\"1.9.0\">\n" . + $ret .= "<package version=\"1.0\" packagerversion=\"1.9.1\">\n" . " <name>$pkginfo[package]</name>"; if (isset($pkginfo['extends'])) { $ret .= "\n<extends>$pkginfo[extends]</extends>"; @@ -74918,7 +74859,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'XML/Util.php'; * @author Stephan Schmidt (original XML_Serializer code) * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -75000,7 +74941,7 @@ http://pear.php.net/dtd/package-2.0.xsd', */ function getPackagerVersion() { - return '1.9.0'; + return '1.9.1'; } /** @@ -75285,7 +75226,7 @@ http://pear.php.net/dtd/package-2.0.xsd', $this->options['beautifyFilelist'] = true; } - $arr['attribs']['packagerversion'] = '1.9.0'; + $arr['attribs']['packagerversion'] = '1.9.1'; if ($this->serialize($arr, $options)) { return $this->_serializedData . "\n"; } @@ -75803,7 +75744,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/PackageFile/v1.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -76262,7 +76203,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/PackageFile/v2.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -76624,7 +76565,7 @@ define('PEAR_PACKAGEFILE_ERROR_INVALID_FILENAME', 52); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -77984,7 +77925,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/ErrorStack.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -80027,7 +79968,7 @@ class PEAR_PackageFile_v2 * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a8 * @access private @@ -80118,7 +80059,7 @@ class PEAR_PackageFile_v2_Validator isset($test['dependencies']['required']) && isset($test['dependencies']['required']['pearinstaller']) && isset($test['dependencies']['required']['pearinstaller']['min']) && - version_compare('1.9.0', + version_compare('1.9.1', $test['dependencies']['required']['pearinstaller']['min'], '<') ) { $this->_pearVersionTooLow($test['dependencies']['required']['pearinstaller']['min']); @@ -81357,7 +81298,7 @@ class PEAR_PackageFile_v2_Validator $this->_stack->push(__FUNCTION__, 'error', array('version' => $version), 'This package.xml requires PEAR version %version% to parse properly, we are ' . - 'version 1.9.0'); + 'version 1.9.1'); } function _invalidTagOrder($oktags, $actual, $root) @@ -82196,7 +82137,7 @@ define('PEAR_REGISTRY_ERROR_CHANNEL_FILE', -6); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -84562,7 +84503,7 @@ class PEAR_Registry extends PEAR * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: REST.php 286489 2009-07-29 05:59:08Z dufuz $ + * @version CVS: $Id: REST.php 296767 2010-03-25 00:58:33Z dufuz $ * @link http://pear.php.net/package/PEAR * @since File available since Release 1.4.0a1 */ @@ -84581,7 +84522,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/XMLParser.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -84886,7 +84827,7 @@ class PEAR_REST $request = "GET $path HTTP/1.1\r\n"; } - $request .= "Host: $host:$port\r\n"; + $request .= "Host: $host\r\n"; $ifmodifiedsince = ''; if (is_array($lastmodified)) { if (isset($lastmodified['Last-Modified'])) { @@ -84901,7 +84842,7 @@ class PEAR_REST } $request .= $ifmodifiedsince . - "User-Agent: PEAR/1.9.0/PHP/" . PHP_VERSION . "\r\n"; + "User-Agent: PEAR/1.9.1/PHP/" . PHP_VERSION . "\r\n"; $username = $this->config->get('username', null, $channel); $password = $this->config->get('password', null, $channel); @@ -85027,7 +84968,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/REST.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a12 */ @@ -85933,9 +85874,11 @@ class PEAR_Start extends PEAR 'test_dir' => 'Tests directory', 'pear_conf' => 'Name of configuration file', ); + var $localInstall; var $PEARConfig; var $tarball = array(); + function PEAR_Start() { parent::PEAR(); @@ -85954,16 +85897,21 @@ class PEAR_Start extends PEAR } } + $slash = "\\"; + if (strrpos($this->prefix, '\\') === (strlen($this->prefix) - 1)) { + $slash = ''; + } + $this->localInstall = false; $this->bin_dir = '$prefix'; - $this->temp_dir = '$prefix\tmp'; - $this->download_dir = '$prefix\tmp'; - $this->php_dir = '$prefix\pear'; - $this->doc_dir = '$prefix\docs'; - $this->data_dir = '$prefix\data'; - $this->test_dir = '$prefix\tests'; - $this->www_dir = '$prefix\www'; - $this->cfg_dir = '$prefix\cfg'; + $this->temp_dir = '$prefix' . $slash . 'tmp'; + $this->download_dir = '$prefix' . $slash . 'tmp'; + $this->php_dir = '$prefix' . $slash . 'pear'; + $this->doc_dir = '$prefix' . $slash . 'docs'; + $this->data_dir = '$prefix' . $slash . 'data'; + $this->test_dir = '$prefix' . $slash . 'tests'; + $this->www_dir = '$prefix' . $slash . 'www'; + $this->cfg_dir = '$prefix' . $slash . 'cfg'; $this->pear_conf = PEAR_CONFIG_SYSCONFDIR . '\\pear.ini'; /* * Detects php.exe @@ -86034,6 +85982,7 @@ class PEAR_Start extends PEAR if (is_array($_ENV) && isset($_ENV[$var])) { return $_ENV[$var]; } + return getenv($var); } @@ -86049,6 +85998,7 @@ class PEAR_Start extends PEAR return PEAR::raiseError("while locating packages to install: opendir('" . dirname(__FILE__) . "/go-pear-tarballs') failed"); } + $potentials = array(); while (false !== ($entry = readdir($dp))) { if ($entry{0} == '.' || !in_array(substr($entry, -4), array('.tar', '.tgz'))) { @@ -86056,6 +86006,7 @@ class PEAR_Start extends PEAR } $potentials[] = $entry; } + closedir($dp); $notfound = array(); foreach ($this->corePackages as $package) { @@ -86067,12 +86018,15 @@ class PEAR_Start extends PEAR continue 2; } } + $notfound[] = $package; } + if (count($notfound)) { return PEAR::raiseError("No tarballs found for core packages: " . implode(', ', $notfound)); } + $this->tarball = array_merge($this->tarball, $potentials); } @@ -86084,8 +86038,8 @@ class PEAR_Start extends PEAR if (!$res) { return PEAR::raiseError('mkdir ' . $this->prefix . '/tmp ... failed'); } - $_temp = tempnam($this->prefix . '/tmp', 'gope'); + $_temp = tempnam($this->prefix . '/tmp', 'gope'); System::rm(array('-rf', $_temp)); System::mkdir(array('-p','-m', '0700', $_temp)); $this->ptmp = $this->prefix . '/tmp'; @@ -86103,6 +86057,7 @@ class PEAR_Start extends PEAR }; $_ENV['TMPDIR'] = $_ENV['TEMP'] = $this->prefix . '/tmp'; } + return @chdir($this->ptmp); } @@ -86119,20 +86074,24 @@ class PEAR_Start extends PEAR } else { exec('"' . $this->php_bin . '/php" -v', $res); } + if (is_array($res)) { if (isset($res[0]) && strpos($res[0],"(cli)")) { return 'cli'; } + if (isset($res[0]) && strpos($res[0],"cgi")) { return 'cgi'; } + if (isset($res[0]) && strpos($res[0],"cgi-fcgi")) { return 'cgi'; - } else { - return 'unknown'; } + + return 'unknown'; } } + return 'unknown'; } @@ -86297,7 +86256,7 @@ class PEAR_Start_CLI extends PEAR_Start } $this->origpwd = getcwd(); $this->config = array_keys($this->configPrompt); - + // make indices run from 1... array_unshift($this->config, ""); unset($this->config[0]); @@ -86340,14 +86299,17 @@ class PEAR_Start_CLI extends PEAR_Start Are you installing a system-wide PEAR or a local copy? (system|local) [system] : "; $tmp = trim(fgets($this->tty, 1024)); - if (!empty($tmp)) { - if (strtolower($tmp) !== 'system') { - print "Please confirm local copy by typing 'yes' : "; - $tmp = trim(fgets($this->tty, 1024)); - if (strtolower($tmp) == 'yes') { - $this->localInstall = true; - $this->pear_conf = '$prefix\\pear.ini'; + if (!empty($tmp) && strtolower($tmp) !== 'system') { + print "Please confirm local copy by typing 'yes' : "; + $tmp = trim(fgets($this->tty, 1024)); + if (strtolower($tmp) == 'yes') { + $slash = "\\"; + if (strrpos($this->prefix, '\\') === (strlen($this->prefix) - 1)) { + $slash = ''; } + + $this->localInstall = true; + $this->pear_conf = '$prefix' . $slash . 'pear.ini'; } } } else { @@ -86378,7 +86340,7 @@ accept these locations. } printf("%2d. $this->descFormat : %s\n", $n, $this->configPrompt[$var], $fullvar); } - + print "\n$this->first-$this->last, 'all' or Enter to continue: "; $tmp = trim(fgets($this->tty, 1024)); if (empty($tmp)) { @@ -86391,12 +86353,14 @@ Please, enter the php.exe path. break; } } + if (isset($this->config[(int)$tmp])) { $var = $this->config[(int)$tmp]; $desc = $this->configPrompt[$var]; $current = $this->$var; if (WIN32GUI && $var != 'pear_conf'){ $tmp = $this->win32BrowseForFolder("Choose a Folder for $desc [$current] :"); + $tmp.= '\\'; } else { print "(Use \$prefix as a shortcut for '$this->prefix', etc.) $desc [$current] : "; @@ -86515,13 +86479,16 @@ End If fclose($fh); $wshSaved = true; } - exec('cscript ' . $cscript . ' "' . $label . '" //noLogo', $arPath); + + exec('cscript ' . escapeshellarg($cscript) . ' "' . escapeshellarg($label) . '" //noLogo', $arPath); if (!count($arPath) || $arPath[0]=='' || $arPath[0]=='cancel') { return ''; } elseif ($arPath[0]=='invalid') { echo "Invalid Path.\n"; return ''; } + + @unlink($cscript); return $arPath[0]; } @@ -86591,7 +86558,7 @@ contain the PEAR PHP directory you just specified: If the specified directory is also not in the include_path used by your scripts, you will have problems getting any PEAR packages working. "; - + if ($php_ini = $this->getPhpiniPath()) { print "\n\nWould you like to alter php.ini <$php_ini>? [Y/n] : "; $alter_phpini = !stristr(fgets($this->tty, 1024), "n"); @@ -86611,20 +86578,20 @@ configuration to make sure $this->php_dir is in your include_path. } } } - + print " Current include path : ".ini_get('include_path')." Configured directory : $this->php_dir Currently used php.ini (guess) : $php_ini "; - + print "Press Enter to continue: "; fgets($this->tty, 1024); } - + $pear_cmd = $this->bin_dir . DIRECTORY_SEPARATOR . 'pear'; $pear_cmd = OS_WINDOWS ? strtolower($pear_cmd).'.bat' : $pear_cmd; - + // check that the installed pear and the one in the path are the same (if any) $pear_old = System::which(OS_WINDOWS ? 'pear.bat' : 'pear', $this->bin_dir); if ($pear_old && ($pear_old != $pear_cmd)) { @@ -86641,9 +86608,9 @@ Currently used php.ini (guess) : $php_ini "be sure to use the new $pear_cmd command\n"; } } - + print "\nThe 'pear' command is now at your service at $pear_cmd\n"; - + // Alert the user if the pear cmd is not in PATH $old_dir = $pear_old ? dirname($pear_old) : false; if (!$this->which('pear', $old_dir)) { @@ -86653,7 +86620,7 @@ Currently used php.ini (guess) : $php_ini ** '$this->bin_dir' to your PATH environment variable. "; - + print "Run it without parameters to see the available actions, try 'pear list' to see what packages are installed, or 'pear help' for help. @@ -86666,7 +86633,7 @@ Thanks for using go-pear! "; } - + if (OS_WINDOWS && !$this->localInstall) { $this->win32CreateRegEnv(); } @@ -86694,7 +86661,7 @@ Thanks for using go-pear! { unset($dirs[$key]); } - + foreach ($dirs as $dir) { $dir = str_replace('\\\\', '\\', $dir); if (!strlen($dir)) { @@ -86781,7 +86748,7 @@ Thanks for using go-pear! } else { $newPath[0] = $this->php_dir; } - + foreach ($arrayPath as $path) { $newPath[]= $path; } @@ -86859,7 +86826,7 @@ php.ini <$pathIni> include_path updated. '"PHP_PEAR_DATA_DIR"="' . addslashes($this->data_dir) . '"' . $nl . '"PHP_PEAR_PHP_BIN"="' . addslashes($this->php_bin) . '"' . $nl . '"PHP_PEAR_TEST_DIR"="' . addslashes($this->test_dir) . '"' . $nl; - + $fh = fopen($this->prefix . DIRECTORY_SEPARATOR . 'PEAR_ENV.reg', 'wb'); if($fh){ fwrite($fh, $reg, strlen($reg)); @@ -86867,7 +86834,7 @@ php.ini <$pathIni> include_path updated. echo " * WINDOWS ENVIRONMENT VARIABLES * -For convenience, a REG file is available under $this->prefix\\PEAR_ENV.reg . +For convenience, a REG file is available under {$this->prefix}PEAR_ENV.reg . This file creates ENV variables for the current user. Double-click this file to add it to the current user registry. @@ -86929,7 +86896,7 @@ define('PEAR_TASK_PACKAGEANDINSTALL', 3); * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 * @abstract @@ -87110,7 +87077,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Task/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -87429,7 +87396,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Task/Postinstallscript.p * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a10 */ @@ -87597,7 +87564,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Task/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -87772,7 +87739,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Task/Replace.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a10 */ @@ -87832,7 +87799,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Task/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -87908,7 +87875,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Task/Unixeol.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a10 */ @@ -87963,7 +87930,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Task/Common.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -88039,7 +88006,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Task/Windowseol.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a10 */ @@ -88102,7 +88069,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Validator/PECL.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -88722,7 +88689,7 @@ require_once 'phar://install-pear-nozlib.phar/' . 'PEAR/Validate.php'; * @author Greg Beaver <cellog@php.net> * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a5 */ @@ -88783,7 +88750,7 @@ class PEAR_Validator_PECL extends PEAR_Validate * @author Stephan Schmidt (original XML_Unserializer code) * @copyright 1997-2009 The Authors * @license http://opensource.org/licenses/bsd-license New BSD License - * @version Release: 1.9.0 + * @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.4.0a1 */ @@ -89759,6 +89726,10 @@ class Structures_Graph_Node { * @access public */ function connectsTo(&$target) { + if (version_compare(PHP_VERSION, '5.0.0') >= 0) { + return in_array($target, $this->getNeighbours(), true); + } + $copy = $target; $arcKeys = array_keys($this->_arcs); foreach($arcKeys as $key) { @@ -89823,8 +89794,8 @@ class Structures_Graph_Node { /* }}} */ } ?> -package2.xml -<package packagerversion="1.5.0" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd"> +package.xml +<package packagerversion="1.9.0" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd"> <name>Structures_Graph</name> <channel>pear.php.net</channel> <summary>Graph datastructure manipulation library</summary> @@ -89837,55 +89808,68 @@ as well as for characteristic extraction from the graph topology.</description> <email>sergio.carvalho@portugalmail.com</email> <active>yes</active> </lead> - <date>2007-02-01</date> - <time>17:45:32</time> + <helper> + <name>Brett Bieber</name> + <user>saltybeagle</user> + <email>brett.bieber@gmail.com</email> + <active>yes</active> + </helper> + <date>2009-10-11</date> + <time>14:29:28</time> <version> - <release>1.0.2</release> - <api>1.0.0</api> + <release>1.0.3</release> + <api>1.0.3</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> - <license uri="http://opensource.org/licenses/lgpl-license.php">LGPL</license> - <notes>- Bug #9682 only variables can be returned by reference -- fix Bug #9661 notice in Structures_Graph_Manipulator_Topological::sort()</notes> + <license>LGPL License</license> + <notes> +Bugfix Release: +Version 1.0.3 is functionally equivalent to 1.0.2 but with an updated package.xml file. +* Correct invalid md5 sum preventing installation with pyrus [saltybeagle] +* Add compatible tag for PEAR 1.5.0RC3-1.9.0 [saltybeagle] +* Update package.xml + </notes> <contents> - <dir baseinstalldir="" name="/"> - <file baseinstalldir="" md5sum="039cb8781dae7b5f5661dc2892fb53b5" name="docs/html/media/banner.css" role="doc" /> - <file baseinstalldir="" md5sum="8ff124484e8a009f94a8d0b4d9b8b1cd" name="docs/html/media/stylesheet.css" role="doc" /> - <file baseinstalldir="" md5sum="a17210dd27171316f5cb446a5bef59ab" name="docs/html/Structures_Graph/Structures_Graph.html" role="doc" /> - <file baseinstalldir="" md5sum="1ed0ac55530b7504c00df35f335e7ef3" name="docs/html/Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html" role="doc" /> - <file baseinstalldir="" md5sum="fefb65755d57a87d2736e058a1095b03" name="docs/html/Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html" role="doc" /> - <file baseinstalldir="" md5sum="afb0e3afb91beafd1bc16a07ac31c826" name="docs/html/Structures_Graph/Structures_Graph_Node.html" role="doc" /> - <file baseinstalldir="" md5sum="3fa477998b281061361c4d98fb78c3a8" name="docs/html/Structures_Graph/tutorial_Structures_Graph.pkg.html" role="doc" /> - <file baseinstalldir="" md5sum="c46e6566be5249811667ddc7decf405f" name="docs/html/Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html" role="doc" /> - <file baseinstalldir="" md5sum="c45890d45dd42dc56adb71988c3a45c1" name="docs/html/Structures_Graph/_Structures_Graph_Manipulator_TopologicalSorter_php.html" role="doc" /> - <file baseinstalldir="" md5sum="09cb6d17f96553bfb66b99c502676844" name="docs/html/Structures_Graph/_Structures_Graph_Node_php.html" role="doc" /> - <file baseinstalldir="" md5sum="78e1e7ec43a6e754cf4d5dace48fe18c" name="docs/html/Structures_Graph/_Structures_Graph_php.html" role="doc" /> - <file baseinstalldir="" md5sum="d0ada99c3b7e95b23461cc3e713f0c3d" name="docs/html/classtrees_Structures_Graph.html" role="doc" /> - <file baseinstalldir="" md5sum="898dd26ccc1c1572d36e9879afcb5d39" name="docs/html/elementindex.html" role="doc" /> - <file baseinstalldir="" md5sum="19dd287d44163d2abde1a1d8d52521f8" name="docs/html/elementindex_Structures_Graph.html" role="doc" /> - <file baseinstalldir="" md5sum="ae809f6ebbf632351648c340d2d6acd4" name="docs/html/errors.html" role="doc" /> - <file baseinstalldir="" md5sum="db3206e7d176ae78fd04f22acead5ffa" name="docs/html/index.html" role="doc" /> - <file baseinstalldir="" md5sum="4ec087627323546610b64d69a6aafca6" name="docs/html/li_Structures_Graph.html" role="doc" /> - <file baseinstalldir="" md5sum="005081a4c5d60afcbabc1f4909ebfcad" name="docs/html/packages.html" role="doc" /> - <file baseinstalldir="" md5sum="a7a1b748bbda6dfa1632bf6078fc8bb6" name="docs/html/todolist.html" role="doc" /> - <file baseinstalldir="" md5sum="628eb6532a8047bf5962fe24c1c245df" name="docs/tutorials/Structures_Graph/Structures_Graph.pkg" role="doc" /> - <file baseinstalldir="" md5sum="ce2da39dbb75e21074eb5e96231a3379" name="docs/generate.sh" role="doc" /> - <file baseinstalldir="" md5sum="f0aff5a1efd188d63b4b8b9e9e840b97" name="Structures/Graph/Manipulator/AcyclicTest.php" role="php" /> - <file baseinstalldir="" md5sum="0492e677436d29228df93dca23629e06" name="Structures/Graph/Manipulator/TopologicalSorter.php" role="php" /> - <file baseinstalldir="" md5sum="7e28e01ebfa273e5df2eb1ef7a356635" name="Structures/Graph/Node.php" role="php" /> - <file baseinstalldir="" md5sum="4f25a6275af156f6f8e7b4309cb9f40d" name="Structures/Graph.php" role="php" /> - <file baseinstalldir="" md5sum="63dfc6f0f14e18c13d8a8415c3fe049d" name="tests/testCase/BasicGraph.php" role="test" /> - <file baseinstalldir="" md5sum="1b9e35896d229b84601e6754cd44e339" name="tests/all-tests.php" role="test" /> - <file baseinstalldir="" md5sum="d41d8cd98f00b204e9800998ecf8427e" name="tests/README" role="test" /> - <file baseinstalldir="" md5sum="ab23406ec7bfbb2029ca536378ff57db" name="genpackage.xml.pl" role="data" /> - <file baseinstalldir="" md5sum="7fbc338309ac38fefcd64b04bb903e34" name="LICENSE" role="data" /> - <file baseinstalldir="" md5sum="6e782f281c7d0ce27e54b574247073cb" name="package.sh" role="data" /> - <file baseinstalldir="" md5sum="b81f67f7b5600231735243be73625e54" name="publish.sh" role="data" /> + <dir baseinstalldir="/" name="/"> + <file baseinstalldir="/" md5sum="e43ca110d02f287cdaac6357ba539fff" name="docs/html/media/banner.css" role="doc" /> + <file baseinstalldir="/" md5sum="296dd865297508569a6e72fcfd20fa81" name="docs/html/media/stylesheet.css" role="doc" /> + <file baseinstalldir="/" md5sum="678ccf89e31bc7337803afd6b7c58827" name="docs/html/Structures_Graph/Structures_Graph.html" role="doc" /> + <file baseinstalldir="/" md5sum="686b7bd7108cf5ce9b1ae5f17cea79f4" name="docs/html/Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html" role="doc" /> + <file baseinstalldir="/" md5sum="08b05a395eca4b0ca49a956fadf83da6" name="docs/html/Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html" role="doc" /> + <file baseinstalldir="/" md5sum="3fa8a9fae581fc31fd1dfbb14f475f92" name="docs/html/Structures_Graph/Structures_Graph_Node.html" role="doc" /> + <file baseinstalldir="/" md5sum="fd9b59eb75a39d3a25a175660dfb12be" name="docs/html/Structures_Graph/tutorial_Structures_Graph.pkg.html" role="doc" /> + <file baseinstalldir="/" md5sum="9cfeca2ff35a44b4bb921a9a818d8fa6" name="docs/html/Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html" role="doc" /> + <file baseinstalldir="/" md5sum="4faffdcc81cbc92520104e90a651a971" name="docs/html/Structures_Graph/_Structures_Graph_Manipulator_TopologicalSorter_php.html" role="doc" /> + <file baseinstalldir="/" md5sum="0337573b69355c8b7ad36cd8f40ce859" name="docs/html/Structures_Graph/_Structures_Graph_Node_php.html" role="doc" /> + <file baseinstalldir="/" md5sum="7c1f852d7aa1a2fcada473723c8a46c2" name="docs/html/Structures_Graph/_Structures_Graph_php.html" role="doc" /> + <file baseinstalldir="/" md5sum="238f8a9d335e49ef87a0a276bcfc7231" name="docs/html/classtrees_Structures_Graph.html" role="doc" /> + <file baseinstalldir="/" md5sum="e302b63d3b18fa1c6e13f76816564d39" name="docs/html/elementindex.html" role="doc" /> + <file baseinstalldir="/" md5sum="c97ebad7c5635abbbbf35a23e868649e" name="docs/html/elementindex_Structures_Graph.html" role="doc" /> + <file baseinstalldir="/" md5sum="6f58a7616dd96fb8cc0cbf928f66dd33" name="docs/html/errors.html" role="doc" /> + <file baseinstalldir="/" md5sum="cf5397f529a0d9a701fac13ac6aaaa69" name="docs/html/index.html" role="doc" /> + <file baseinstalldir="/" md5sum="b206403136db1de58901f825ad9f9cb0" name="docs/html/li_Structures_Graph.html" role="doc" /> + <file baseinstalldir="/" md5sum="a88b0fcc2f97dd2069f671ef1dc92b40" name="docs/html/packages.html" role="doc" /> + <file baseinstalldir="/" md5sum="6fdd16675f2181b53a4d2dc2c419752b" name="docs/html/todolist.html" role="doc" /> + <file baseinstalldir="/" md5sum="628eb6532a8047bf5962fe24c1c245df" name="docs/tutorials/Structures_Graph/Structures_Graph.pkg" role="doc" /> + <file baseinstalldir="/" md5sum="ce2da39dbb75e21074eb5e96231a3379" name="docs/generate.sh" role="doc" /> + <file baseinstalldir="/" md5sum="f0aff5a1efd188d63b4b8b9e9e840b97" name="Structures/Graph/Manipulator/AcyclicTest.php" role="php" /> + <file baseinstalldir="/" md5sum="0492e677436d29228df93dca23629e06" name="Structures/Graph/Manipulator/TopologicalSorter.php" role="php" /> + <file baseinstalldir="/" md5sum="2529b0cbcf0791dd87f3ec060a6a0eb9" name="Structures/Graph/Node.php" role="php" /> + <file baseinstalldir="/" md5sum="4f25a6275af156f6f8e7b4309cb9f40d" name="Structures/Graph.php" role="php" /> + <file baseinstalldir="/" md5sum="5791baa61d5d36442be58ea5cd9d4bd0" name="tests/testCase/BasicGraph.php" role="test" /> + <file baseinstalldir="/" md5sum="4fed49ef60db01eed800105aae4f2c8b" name="tests/AllTests.php" role="test" /> + <file baseinstalldir="/" md5sum="7fbc338309ac38fefcd64b04bb903e34" name="LICENSE" role="data" /> </dir> </contents> + <compatible> + <name>PEAR</name> + <channel>pear.php.net</channel> + <min>1.5.0RC3</min> + <max>1.9.0</max> + </compatible> <dependencies> <required> <php> @@ -89909,1189 +89893,1210 @@ as well as for characteristic extraction from the graph topology.</description> </stability> <date>2007-01-07</date> <license uri="http://opensource.org/licenses/lgpl-license.php">LGPL</license> - <notes>- Bug #9682 only variables can be returned by reference -- fix Bug #9661 notice in Structures_Graph_Manipulator_Topological::sort()</notes> + <notes> +- Bug #9682 only variables can be returned by reference +- fix Bug #9661 notice in Structures_Graph_Manipulator_Topological::sort() + </notes> + </release> + <release> + <version> + <release>1.0.3</release> + <api>1.0.3</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <date>2009-10-11</date> + <license>LGPL License</license> + <notes> +Bugfix Release: +Version 1.0.3 is functionally equivalent to 1.0.2 but with an updated package.xml file. +* Correct invalid md5 sum preventing installation with pyrus [saltybeagle] +* Add compatible tag for PEAR 1.5.0RC3-1.9.0 [saltybeagle] +* Update package.xml + </notes> </release> </changelog> </package> - -{
- background-color: #CCCCFF;
- margin: 0px;
- padding: 0px;
-}
-
-/* Banner (top bar) classes */
-
-.banner { }
-
-.banner-menu
-{
- clear: both;
- padding: .5em;
- border-top: 2px solid #6666AA;
-}
-
-.banner-title
-{
- text-align: right;
- font-size: 20pt;
- font-weight: bold;
- margin: .2em;
-}
-
-.package-selector
-{
- background-color: #AAAADD;
- border: 1px solid black;
- color: yellow;
-}
- -a:hover { color: #6699CC; text-decoration: underline; }
-a:active { color: #6699CC; text-decoration: underline; }
-
-body { background : #FFFFFF; }
-body, table { font-family: Georgia, Times New Roman, Times, serif; font-size: 10pt }
-p, li { line-height: 140% }
-a img { border: 0px; }
-dd { margin-left: 0px; padding-left: 1em; }
-
-/* Page layout/boxes */
-
-.info-box {}
-.info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 2px solid #999999; background-color: #CCCCFF }
-.info-box-body { border: 1px solid #999999; padding: .5em; }
-.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; }
-
-.oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em}
-.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em}
-
-.page-body { max-width: 800px; margin: auto; }
-.tree dl { margin: 0px }
-
-/* Index formatting classes */
-
-.index-item-body { margin-top: .5em; margin-bottom: .5em}
-.index-item-description { margin-top: .25em }
-.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt }
-.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em}
-.index-letter-title { font-size: 12pt; font-weight: bold }
-.index-letter-menu { text-align: center; margin: 1em }
-.index-letter { font-size: 12pt }
-
-/* Docbook classes */
-
-.description {}
-.short-description { font-weight: bold; color: #666666; }
-.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; }
-.parameters { padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; }
-.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; }
-.package { }
-.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black }
-.package-details { font-size: 85%; }
-.sub-package { font-weight: bold; font-size: 120% }
-.tutorial { border-width: thin; border-color: #0066ff }
-.tutorial-nav-box { width: 100%; border: 1px solid #999999; background-color: #F8F8F8; }
-.nav-button-disabled { color: #999999; }
-.nav-button:active,
-.nav-button:focus,
-.nav-button:hover { background-color: #DDDDDD; outline: 1px solid #999999; text-decoration: none }
-.folder-title { font-style: italic }
-
-/* Generic formatting */
-
-.field { font-weight: bold; }
-.detail { font-size: 8pt; }
-.notes { font-style: italic; font-size: 8pt; }
-.separator { background-color: #999999; height: 2px; }
-.warning { color: #FF6600; }
-.disabled { font-style: italic; color: #999999; }
-
-/* Code elements */
-
-.line-number { }
-
-.class-table { width: 100%; }
-.class-table-header { border-bottom: 1px dotted #666666; text-align: left}
-.class-name { color: #000000; font-weight: bold; }
-
-.method-summary { padding-left: 1em; font-size: 8pt }
-.method-header { }
-.method-definition { margin-bottom: .3em }
-.method-title { font-weight: bold; }
-.method-name { font-weight: bold; }
-.method-signature { font-size: 85%; color: #666666; margin: .5em 0em }
-.method-result { font-style: italic; }
-
-.var-summary { padding-left: 1em; font-size: 8pt; }
-.var-header { }
-.var-title { margin-bottom: .3em }
-.var-type { font-style: italic; }
-.var-name { font-weight: bold; }
-.var-default {}
-.var-description { font-weight: normal; color: #000000; }
-
-.include-title { }
-.include-type { font-style: italic; }
-.include-name { font-weight: bold; }
-
-.const-title { }
-.const-name { font-weight: bold; }
-
-/* Syntax highlighting */
-
-.src-code { border: 1px solid #336699; padding: 1em; background-color: #EEEEEE; }
-
-.src-comm { color: green; }
-.src-id { }
-.src-inc { color: #0000FF; }
-.src-key { color: #0000FF; }
-.src-num { color: #CC0000; }
-.src-str { color: #66cccc; }
-.src-sym { font-weight: bold; }
-.src-var { }
-
-.src-php { font-weight: bold; }
-
-.src-doc { color: #009999 }
-.src-doc-close-template { color: #0000FF }
-.src-doc-coretag { color: #0099FF; font-weight: bold }
-.src-doc-inlinetag { color: #0099FF }
-.src-doc-internal { color: #6699cc }
-.src-doc-tag { color: #0080CC }
-.src-doc-template { color: #0000FF }
-.src-doc-type { font-style: italic }
-.src-doc-var { font-style: italic }
-
-/* tutorial */
-
-.authors { }
-.author { font-style: italic; font-weight: bold }
-.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal }
-.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em }
-.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap }
-.release-info { font-size: 85%; font-style: italic; margin: 1em 0em }
-.ref-title-box { }
-.ref-title { }
-.ref-purpose { font-style: italic; color: #666666 }
-.ref-synopsis { }
-.title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em; border: 2px solid #999999; background-color: #CCCCFF }
-.cmd-synopsis { margin: 1em 0em }
-.cmd-title { font-weight: bold }
-.toc { margin-left: 2em; padding-left: 0em }
-
- -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title>Docs For Class Structures_Graph</title>
- <link rel="stylesheet" href="../media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <div class="page-body">
-<h2 class="class-name">Class Structures_Graph</h2>
-
-<a name="sec-description"></a>
-<div class="info-box">
- <div class="info-box-title">Description</div>
- <div class="nav-bar">
- <span class="disabled">Description</span> |
- <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
-
- </div>
- <div class="info-box-body">
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">The Structures_Graph class represents a graph data structure.</p>
-<p class="description"><p>A Graph is a data structure composed by a set of nodes, connected by arcs. Graphs may either be directed or undirected. In a directed graph, arcs are directional, and can be traveled only one way. In an undirected graph, arcs are bidirectional, and can be traveled both ways.</p></p>
- <ul class="tags">
- <li><span class="field">copyright:</span> (c) 2004 by Sérgio Carvalho</li>
- <li><span class="field">author:</span> Sérgio Carvalho <<a href="mailto:sergio.carvalho@portugalmail.com">mailto:sergio.carvalho@portugalmail.com</a>></li>
- </ul>
- <p class="notes">
- Located in <a class="field" href="_Structures_Graph_php.html">/Structures/Graph.php</a> (line <span class="field">56</span>)
- </p>
-
-
- <pre></pre>
-
- </div>
-</div>
-
-
-
- <a name="sec-method-summary"></a>
- <div class="info-box">
- <div class="info-box-title">Method Summary</span></div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
- </div>
- <div class="info-box-body">
- <div class="method-summary">
-
- <div class="method-definition">
- <span class="method-result">Structures_Graph</span>
- <a href="#Structures_Graph" title="details" class="method-name">Structures_Graph</a>
- ([<span class="var-type">boolean</span> <span class="var-name">$directed</span> = <span class="var-default">true</span>])
- </div>
-
- <div class="method-definition">
- <span class="method-result">void</span>
- <a href="#addNode" title="details" class="method-name">addNode</a>
- (<span class="var-type"><a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></span> <span class="var-name">&$newNode</span>)
- </div>
-
- <div class="method-definition">
- <span class="method-result">array</span>
- <a href="#getNodes" title="details" class="method-name">&getNodes</a>
- ()
- </div>
-
- <div class="method-definition">
- <span class="method-result">boolean</span>
- <a href="#isDirected" title="details" class="method-name">isDirected</a>
- ()
- </div>
-
- <div class="method-definition">
- <span class="method-result">void</span>
- <a href="#removeNode" title="details" class="method-name">removeNode</a>
- (<span class="var-type"><a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></span> <span class="var-name">&$node</span>)
- </div>
- </div>
- </div>
- </div>
-
-
- <a name="sec-methods"></a>
- <div class="info-box">
- <div class="info-box-title">Methods</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
-
- </div>
- <div class="info-box-body">
- <A NAME='method_detail'></A>
-<a name="methodStructures_Graph" id="Structures_Graph"><!-- --></a>
-<div class="evenrow">
-
- <div class="method-header">
- <span class="method-title">Constructor Structures_Graph</span> (line <span class="line-number">76</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Constructor</p>
- <ul class="tags">
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">Structures_Graph</span>
- <span class="method-name">
- Structures_Graph
- </span>
- ([<span class="var-type">boolean</span> <span class="var-name">$directed</span> = <span class="var-default">true</span>])
- </div>
-
- <ul class="parameters">
- <li>
- <span class="var-type">boolean</span>
- <span class="var-name">$directed</span><span class="var-description">: Set to true if the graph is directed. Set to false if it is not directed. (Optional, defaults to true)</span> </li>
- </ul>
-
-
- </div>
-<a name="methodaddNode" id="addNode"><!-- --></a>
-<div class="oddrow">
-
- <div class="method-header">
- <span class="method-title">addNode</span> (line <span class="line-number">102</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Add a Node to the Graph</p>
- <ul class="tags">
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">void</span>
- <span class="method-name">
- addNode
- </span>
- (<span class="var-type"><a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></span> <span class="var-name">&$newNode</span>)
- </div>
-
- <ul class="parameters">
- <li>
- <span class="var-type"><a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></span>
- <span class="var-name">&$newNode</span><span class="var-description">: The node to be added.</span> </li>
- </ul>
-
-
- </div>
-<a name="methodgetNodes" id="getNodes"><!-- --></a>
-<div class="evenrow">
-
- <div class="method-header">
- <span class="method-title">getNodes</span> (line <span class="line-number">151</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Return the node set, in no particular order. For ordered node sets, use a Graph Manipulator insted.</p>
- <ul class="tags">
- <li><span class="field">return:</span> The set of nodes in this graph</li>
- <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html">Structures_Graph_Manipulator_TopologicalSorter</a></li>
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">array</span>
- <span class="method-name">
- &getNodes
- </span>
- ()
- </div>
-
-
-
- </div>
-<a name="methodisDirected" id="isDirected"><!-- --></a>
-<div class="oddrow">
-
- <div class="method-header">
- <span class="method-title">isDirected</span> (line <span class="line-number">89</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Return true if a graph is directed</p>
- <ul class="tags">
- <li><span class="field">return:</span> true if the graph is directed</li>
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">boolean</span>
- <span class="method-name">
- isDirected
- </span>
- ()
- </div>
-
-
-
- </div>
-<a name="methodremoveNode" id="removeNode"><!-- --></a>
-<div class="evenrow">
-
- <div class="method-header">
- <span class="method-title">removeNode</span> (line <span class="line-number">138</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Remove a Node from the Graph</p>
- <ul class="tags">
- <li><span class="field">access:</span> public</li>
- <li><span class="field">todo:</span> This is unimplemented</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">void</span>
- <span class="method-name">
- removeNode
- </span>
- (<span class="var-type"><a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></span> <span class="var-name">&$node</span>)
- </div>
-
- <ul class="parameters">
- <li>
- <span class="var-type"><a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></span>
- <span class="var-name">&$node</span><span class="var-description">: The node to be removed from the graph</span> </li>
- </ul>
-
-
- </div>
-
- </div>
- </div>
-
- <p class="notes" id="credit">
- Documentation generated on Fri, 30 Jan 2004 16:37:28 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
- </p>
- </div></body>
-</html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title>Docs For Class Structures_Graph_Manipulator_AcyclicTest</title>
- <link rel="stylesheet" href="../media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <div class="page-body">
-<h2 class="class-name">Class Structures_Graph_Manipulator_AcyclicTest</h2>
-
-<a name="sec-description"></a>
-<div class="info-box">
- <div class="info-box-title">Description</div>
- <div class="nav-bar">
- <span class="disabled">Description</span> |
- <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
-
- </div>
- <div class="info-box-body">
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">The Structures_Graph_Manipulator_AcyclicTest is a graph manipulator which tests whether a graph contains a cycle.</p>
-<p class="description"><p>The definition of an acyclic graph used in this manipulator is that of a DAG. The graph must be directed, or else it is considered cyclic, even when there are no arcs.</p></p>
- <ul class="tags">
- <li><span class="field">copyright:</span> (c) 2004 by Sérgio Carvalho</li>
- <li><span class="field">author:</span> Sérgio Carvalho <<a href="mailto:sergio.carvalho@portugalmail.com">mailto:sergio.carvalho@portugalmail.com</a>></li>
- </ul>
- <p class="notes">
- Located in <a class="field" href="_Structures_Graph_Manipulator_AcyclicTest_php.html">/Structures/Graph/Manipulator/AcyclicTest.php</a> (line <span class="field">55</span>)
- </p>
-
-
- <pre></pre>
-
- </div>
-</div>
-
-
-
- <a name="sec-method-summary"></a>
- <div class="info-box">
- <div class="info-box-title">Method Summary</span></div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
- </div>
- <div class="info-box-body">
- <div class="method-summary">
-
- <div class="method-definition">
- <span class="method-result">boolean</span>
- <a href="#isAcyclic" title="details" class="method-name">isAcyclic</a>
- (<span class="var-type">mixed</span> <span class="var-name">&$graph</span>)
- </div>
- </div>
- </div>
- </div>
-
-
- <a name="sec-methods"></a>
- <div class="info-box">
- <div class="info-box-title">Methods</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
-
- </div>
- <div class="info-box-body">
- <A NAME='method_detail'></A>
-<a name="methodisAcyclic" id="isAcyclic"><!-- --></a>
-<div class="evenrow">
-
- <div class="method-header">
- <span class="method-title">isAcyclic</span> (line <span class="line-number">126</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">isAcyclic returns true if a graph contains no cycles, false otherwise.</p>
- <ul class="tags">
- <li><span class="field">return:</span> true iff graph is acyclic</li>
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">boolean</span>
- <span class="method-name">
- isAcyclic
- </span>
- (<span class="var-type">mixed</span> <span class="var-name">&$graph</span>)
- </div>
-
-
-
- </div>
-
- </div>
- </div>
-
- <p class="notes" id="credit">
- Documentation generated on Fri, 30 Jan 2004 16:37:28 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
- </p>
- </div></body>
-</html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title>Docs For Class Structures_Graph_Manipulator_TopologicalSorter</title>
- <link rel="stylesheet" href="../media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <div class="page-body">
-<h2 class="class-name">Class Structures_Graph_Manipulator_TopologicalSorter</h2>
-
-<a name="sec-description"></a>
-<div class="info-box">
- <div class="info-box-title">Description</div>
- <div class="nav-bar">
- <span class="disabled">Description</span> |
- <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
-
- </div>
- <div class="info-box-body">
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">The Structures_Graph_Manipulator_TopologicalSorter is a manipulator which is able to return the set of nodes in a graph, sorted by topological order.</p>
-<p class="description"><p>A graph may only be sorted topologically iff it's a DAG. You can test it with the Structures_Graph_Manipulator_AcyclicTest.</p></p>
- <ul class="tags">
- <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html">Structures_Graph_Manipulator_AcyclicTest</a></li>
- <li><span class="field">copyright:</span> (c) 2004 by Sérgio Carvalho</li>
- <li><span class="field">author:</span> Sérgio Carvalho <<a href="mailto:sergio.carvalho@portugalmail.com">mailto:sergio.carvalho@portugalmail.com</a>></li>
- </ul>
- <p class="notes">
- Located in <a class="field" href="_Structures_Graph_Manipulator_TopologicalSorter_php.html">/Structures/Graph/Manipulator/TopologicalSorter.php</a> (line <span class="field">58</span>)
- </p>
-
-
- <pre></pre>
-
- </div>
-</div>
-
-
-
- <a name="sec-method-summary"></a>
- <div class="info-box">
- <div class="info-box-title">Method Summary</span></div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
- </div>
- <div class="info-box-body">
- <div class="method-summary">
-
- <div class="method-definition">
- <span class="method-result">array</span>
- <a href="#sort" title="details" class="method-name">sort</a>
- (<span class="var-type">mixed</span> <span class="var-name">&$graph</span>)
- </div>
- </div>
- </div>
- </div>
-
-
- <a name="sec-methods"></a>
- <div class="info-box">
- <div class="info-box-title">Methods</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
-
- </div>
- <div class="info-box-body">
- <A NAME='method_detail'></A>
-<a name="methodsort" id="sort"><!-- --></a>
-<div class="evenrow">
-
- <div class="method-header">
- <span class="method-title">sort</span> (line <span class="line-number">133</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">sort returns the graph's nodes, sorted by topological order.</p>
-<p class="description"><p>The result is an array with as many entries as topological levels. Each entry in this array is an array of nodes within the given topological level.</p></p>
- <ul class="tags">
- <li><span class="field">return:</span> The graph's nodes, sorted by topological order.</li>
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">array</span>
- <span class="method-name">
- sort
- </span>
- (<span class="var-type">mixed</span> <span class="var-name">&$graph</span>)
- </div>
-
-
-
- </div>
-
- </div>
- </div>
-
- <p class="notes" id="credit">
- Documentation generated on Fri, 30 Jan 2004 16:37:29 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
- </p>
- </div></body>
-</html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title>Docs For Class Structures_Graph_Node</title>
- <link rel="stylesheet" href="../media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <div class="page-body">
-<h2 class="class-name">Class Structures_Graph_Node</h2>
-
-<a name="sec-description"></a>
-<div class="info-box">
- <div class="info-box-title">Description</div>
- <div class="nav-bar">
- <span class="disabled">Description</span> |
- <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
-
- </div>
- <div class="info-box-body">
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">The Structures_Graph_Node class represents a Node that can be member of a graph node set.</p>
-<p class="description"><p>A graph node can contain data. Under this API, the node contains default data, and key index data. It behaves, thus, both as a regular data node, and as a dictionary (or associative array) node.</p><p>Regular data is accessed via getData and setData. Key indexed data is accessed via getMetadata and setMetadata.</p></p>
- <ul class="tags">
- <li><span class="field">copyright:</span> (c) 2004 by Sérgio Carvalho</li>
- <li><span class="field">author:</span> Sérgio Carvalho <<a href="mailto:sergio.carvalho@portugalmail.com">mailto:sergio.carvalho@portugalmail.com</a>></li>
- </ul>
- <p class="notes">
- Located in <a class="field" href="_Structures_Graph_Node_php.html">/Structures/Graph/Node.php</a> (line <span class="field">57</span>)
- </p>
-
-
- <pre></pre>
-
- </div>
-</div>
-
-
-
- <a name="sec-method-summary"></a>
- <div class="info-box">
- <div class="info-box-title">Method Summary</span></div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
- </div>
- <div class="info-box-body">
- <div class="method-summary">
-
- <div class="method-definition">
- <span class="method-result">Structures_Graph_Node</span>
- <a href="#Structures_Graph_Node" title="details" class="method-name">Structures_Graph_Node</a>
- ()
- </div>
-
- <div class="method-definition">
- <span class="method-result">boolean</span>
- <a href="#connectsTo" title="details" class="method-name">connectsTo</a>
- (<span class="var-type">mixed</span> <span class="var-name">&$target</span>)
- </div>
-
- <div class="method-definition">
- <span class="method-result">void</span>
- <a href="#connectTo" title="details" class="method-name">connectTo</a>
- (<span class="var-type"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span> <span class="var-name">&$destinationNode</span>)
- </div>
-
- <div class="method-definition">
- <span class="method-result">mixed</span>
- <a href="#getData" title="details" class="method-name">&getData</a>
- ()
- </div>
-
- <div class="method-definition">
- <span class="method-result"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span>
- <a href="#getGraph" title="details" class="method-name">&getGraph</a>
- ()
- </div>
-
- <div class="method-definition">
- <span class="method-result">mixed</span>
- <a href="#getMetadata" title="details" class="method-name">&getMetadata</a>
- (<span class="var-type">string</span> <span class="var-name">$key</span>, [<span class="var-type">boolean</span> <span class="var-name">$nullIfNonexistent</span> = <span class="var-default">false</span>])
- </div>
-
- <div class="method-definition">
- <span class="method-result">array</span>
- <a href="#getNeighbours" title="details" class="method-name">getNeighbours</a>
- ()
- </div>
-
- <div class="method-definition">
- <span class="method-result">integer</span>
- <a href="#inDegree" title="details" class="method-name">inDegree</a>
- ()
- </div>
-
- <div class="method-definition">
- <span class="method-result">boolean</span>
- <a href="#metadataKeyExists" title="details" class="method-name">metadataKeyExists</a>
- (<span class="var-type">string</span> <span class="var-name">$key</span>)
- </div>
-
- <div class="method-definition">
- <span class="method-result">integer</span>
- <a href="#outDegree" title="details" class="method-name">outDegree</a>
- ()
- </div>
-
- <div class="method-definition">
- <span class="method-result">mixed</span>
- <a href="#setData" title="details" class="method-name">setData</a>
- (<span class="var-type">mixed</span> <span class="var-name">$data</span>)
- </div>
-
- <div class="method-definition">
- <span class="method-result">void</span>
- <a href="#setGraph" title="details" class="method-name">setGraph</a>
- (<span class="var-type"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span> <span class="var-name">&$graph</span>)
- </div>
-
- <div class="method-definition">
- <span class="method-result">void</span>
- <a href="#setMetadata" title="details" class="method-name">setMetadata</a>
- (<span class="var-type">string</span> <span class="var-name">$key</span>, <span class="var-type">mixed</span> <span class="var-name">$data</span>)
- </div>
-
- <div class="method-definition">
- <span class="method-result">void</span>
- <a href="#unsetMetadata" title="details" class="method-name">unsetMetadata</a>
- (<span class="var-type">string</span> <span class="var-name">$key</span>)
- </div>
- </div>
- </div>
- </div>
-
-
- <a name="sec-methods"></a>
- <div class="info-box">
- <div class="info-box-title">Methods</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
-
- </div>
- <div class="info-box-body">
- <A NAME='method_detail'></A>
-<a name="methodStructures_Graph_Node" id="Structures_Graph_Node"><!-- --></a>
-<div class="evenrow">
-
- <div class="method-header">
- <span class="method-title">Constructor Structures_Graph_Node</span> (line <span class="line-number">78</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Constructor</p>
- <ul class="tags">
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">Structures_Graph_Node</span>
- <span class="method-name">
- Structures_Graph_Node
- </span>
- ()
- </div>
-
-
-
- </div>
-<a name="methodconnectsTo" id="connectsTo"><!-- --></a>
-<div class="oddrow">
-
- <div class="method-header">
- <span class="method-title">connectsTo</span> (line <span class="line-number">275</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Test wether this node has an arc to the target node</p>
- <ul class="tags">
- <li><span class="field">return:</span> True if the two nodes are connected</li>
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">boolean</span>
- <span class="method-name">
- connectsTo
- </span>
- (<span class="var-type">mixed</span> <span class="var-name">&$target</span>)
- </div>
-
-
-
- </div>
-<a name="methodconnectTo" id="connectTo"><!-- --></a>
-<div class="evenrow">
-
- <div class="method-header">
- <span class="method-title">connectTo</span> (line <span class="line-number">236</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Connect this node to another one.</p>
-<p class="description"><p>If the graph is not directed, the reverse arc, connecting $destinationNode to $this is also created.</p></p>
- <ul class="tags">
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">void</span>
- <span class="method-name">
- connectTo
- </span>
- (<span class="var-type"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span> <span class="var-name">&$destinationNode</span>)
- </div>
-
- <ul class="parameters">
- <li>
- <span class="var-type"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span>
- <span class="var-name">&$destinationNode</span><span class="var-description">: Node to connect to</span> </li>
- </ul>
-
-
- </div>
-<a name="methodgetData" id="getData"><!-- --></a>
-<div class="oddrow">
-
- <div class="method-header">
- <span class="method-title">getData</span> (line <span class="line-number">119</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Node data getter.</p>
-<p class="description"><p>Each graph node can contain a reference to one variable. This is the getter for that reference.</p></p>
- <ul class="tags">
- <li><span class="field">return:</span> Data stored in node</li>
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">mixed</span>
- <span class="method-name">
- &getData
- </span>
- ()
- </div>
-
-
-
- </div>
-<a name="methodgetGraph" id="getGraph"><!-- --></a>
-<div class="evenrow">
-
- <div class="method-header">
- <span class="method-title">getGraph</span> (line <span class="line-number">90</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Node graph getter</p>
- <ul class="tags">
- <li><span class="field">return:</span> Graph where node is stored</li>
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span>
- <span class="method-name">
- &getGraph
- </span>
- ()
- </div>
-
-
-
- </div>
-<a name="methodgetMetadata" id="getMetadata"><!-- --></a>
-<div class="oddrow">
-
- <div class="method-header">
- <span class="method-title">getMetadata</span> (line <span class="line-number">171</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Node metadata getter</p>
-<p class="description"><p>Each graph node can contain multiple 'metadata' entries, each stored under a different key, as in an associative array or in a dictionary. This method gets the data under the given key. If the key does not exist, an error will be thrown, so testing using metadataKeyExists might be needed.</p></p>
- <ul class="tags">
- <li><span class="field">return:</span> Metadata Data stored in node under given key</li>
- <li><span class="field">access:</span> public</li>
- <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph_Node.html#methodmetadataKeyExists">Structures_Graph_Node::metadataKeyExists()</a></li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">mixed</span>
- <span class="method-name">
- &getMetadata
- </span>
- (<span class="var-type">string</span> <span class="var-name">$key</span>, [<span class="var-type">boolean</span> <span class="var-name">$nullIfNonexistent</span> = <span class="var-default">false</span>])
- </div>
-
- <ul class="parameters">
- <li>
- <span class="var-type">string</span>
- <span class="var-name">$key</span><span class="var-description">: Key</span> </li>
- <li>
- <span class="var-type">boolean</span>
- <span class="var-name">$nullIfNonexistent</span><span class="var-description">: nullIfNonexistent (defaults to false).</span> </li>
- </ul>
-
-
- </div>
-<a name="methodgetNeighbours" id="getNeighbours"><!-- --></a>
-<div class="evenrow">
-
- <div class="method-header">
- <span class="method-title">getNeighbours</span> (line <span class="line-number">262</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Return nodes connected to this one.</p>
- <ul class="tags">
- <li><span class="field">return:</span> Array of nodes</li>
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">array</span>
- <span class="method-name">
- getNeighbours
- </span>
- ()
- </div>
-
-
-
- </div>
-<a name="methodinDegree" id="inDegree"><!-- --></a>
-<div class="oddrow">
-
- <div class="method-header">
- <span class="method-title">inDegree</span> (line <span class="line-number">309</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Calculate the in degree of the node.</p>
-<p class="description"><p>The indegree for a node is the number of arcs entering the node. For non directed graphs, the indegree is equal to the outdegree.</p></p>
- <ul class="tags">
- <li><span class="field">return:</span> In degree of the node</li>
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">integer</span>
- <span class="method-name">
- inDegree
- </span>
- ()
- </div>
-
-
-
- </div>
-<a name="methodmetadataKeyExists" id="metadataKeyExists"><!-- --></a>
-<div class="evenrow">
-
- <div class="method-header">
- <span class="method-title">metadataKeyExists</span> (line <span class="line-number">151</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Test for existence of metadata under a given key.</p>
-<p class="description"><p>Each graph node can contain multiple 'metadata' entries, each stored under a different key, as in an associative array or in a dictionary. This method tests whether a given metadata key exists for this node.</p></p>
- <ul class="tags">
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">boolean</span>
- <span class="method-name">
- metadataKeyExists
- </span>
- (<span class="var-type">string</span> <span class="var-name">$key</span>)
- </div>
-
- <ul class="parameters">
- <li>
- <span class="var-type">string</span>
- <span class="var-name">$key</span><span class="var-description">: Key to test</span> </li>
- </ul>
-
-
- </div>
-<a name="methodoutDegree" id="outDegree"><!-- --></a>
-<div class="oddrow">
-
- <div class="method-header">
- <span class="method-title">outDegree</span> (line <span class="line-number">333</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Calculate the out degree of the node.</p>
-<p class="description"><p>The outdegree for a node is the number of arcs exiting the node. For non directed graphs, the outdegree is always equal to the indegree.</p></p>
- <ul class="tags">
- <li><span class="field">return:</span> Out degree of the node</li>
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">integer</span>
- <span class="method-name">
- outDegree
- </span>
- ()
- </div>
-
-
-
- </div>
-<a name="methodsetData" id="setData"><!-- --></a>
-<div class="evenrow">
-
- <div class="method-header">
- <span class="method-title">setData</span> (line <span class="line-number">134</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Node data setter</p>
-<p class="description"><p>Each graph node can contain a reference to one variable. This is the setter for that reference.</p></p>
- <ul class="tags">
- <li><span class="field">return:</span> Data to store in node</li>
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">mixed</span>
- <span class="method-name">
- setData
- </span>
- (<span class="var-type">mixed</span> <span class="var-name">$data</span>)
- </div>
-
-
-
- </div>
-<a name="methodsetGraph" id="setGraph"><!-- --></a>
-<div class="oddrow">
-
- <div class="method-header">
- <span class="method-title">setGraph</span> (line <span class="line-number">104</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Node graph setter. This method should not be called directly. Use Graph::addNode instead.</p>
- <ul class="tags">
- <li><span class="field">access:</span> public</li>
- <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph.html#methodaddNode">Structures_Graph::addNode()</a></li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">void</span>
- <span class="method-name">
- setGraph
- </span>
- (<span class="var-type"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span> <span class="var-name">&$graph</span>)
- </div>
-
- <ul class="parameters">
- <li>
- <span class="var-type"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span>
- <span class="var-name">&$graph</span><span class="var-description">: Set the graph for this node.</span> </li>
- </ul>
-
-
- </div>
-<a name="methodsetMetadata" id="setMetadata"><!-- --></a>
-<div class="evenrow">
-
- <div class="method-header">
- <span class="method-title">setMetadata</span> (line <span class="line-number">214</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Node metadata setter</p>
-<p class="description"><p>Each graph node can contain multiple 'metadata' entries, each stored under a different key, as in an associative array or in a dictionary. This method stores data under the given key. If the key already exists, previously stored data is discarded.</p></p>
- <ul class="tags">
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">void</span>
- <span class="method-name">
- setMetadata
- </span>
- (<span class="var-type">string</span> <span class="var-name">$key</span>, <span class="var-type">mixed</span> <span class="var-name">$data</span>)
- </div>
-
- <ul class="parameters">
- <li>
- <span class="var-type">string</span>
- <span class="var-name">$key</span><span class="var-description">: Key</span> </li>
- <li>
- <span class="var-type">mixed</span>
- <span class="var-name">$data</span><span class="var-description">: Data</span> </li>
- </ul>
-
-
- </div>
-<a name="methodunsetMetadata" id="unsetMetadata"><!-- --></a>
-<div class="oddrow">
-
- <div class="method-header">
- <span class="method-title">unsetMetadata</span> (line <span class="line-number">196</span>)
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Delete metadata by key</p>
-<p class="description"><p>Each graph node can contain multiple 'metadata' entries, each stored under a different key, as in an associative array or in a dictionary. This method removes any data that might be stored under the provided key. If the key does not exist, no error is thrown, so it is safe using this method without testing for key existence.</p></p>
- <ul class="tags">
- <li><span class="field">access:</span> public</li>
- </ul>
-
- <div class="method-signature">
- <span class="method-result">void</span>
- <span class="method-name">
- unsetMetadata
- </span>
- (<span class="var-type">string</span> <span class="var-name">$key</span>)
- </div>
-
- <ul class="parameters">
- <li>
- <span class="var-type">string</span>
- <span class="var-name">$key</span><span class="var-description">: Key</span> </li>
- </ul>
-
-
- </div>
-
- </div>
- </div>
-
- <p class="notes" id="credit">
- Documentation generated on Fri, 30 Jan 2004 16:37:29 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
- </p>
- </div></body>
-</html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title>Structures_Graph Tutorial</title>
- <link rel="stylesheet" href="../media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <div class="page-body">
-
+ +{ + background-color: #CCCCFF; + margin: 0px; + padding: 0px; +} + +/* Banner (top bar) classes */ + +.banner { } + +.banner-menu +{ + clear: both; + padding: .5em; + border-top: 2px solid #6666AA; +} + +.banner-title +{ + text-align: right; + font-size: 20pt; + font-weight: bold; + margin: .2em; +} + +.package-selector +{ + background-color: #AAAADD; + border: 1px solid black; + color: yellow; +} + +a:hover { color: #6699CC; text-decoration: underline; } +a:active { color: #6699CC; text-decoration: underline; } + +body { background : #FFFFFF; } +body, table { font-family: Georgia, Times New Roman, Times, serif; font-size: 10pt } +p, li { line-height: 140% } +a img { border: 0px; } +dd { margin-left: 0px; padding-left: 1em; } + +/* Page layout/boxes */ + +.info-box {} +.info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 2px solid #999999; background-color: #CCCCFF } +.info-box-body { border: 1px solid #999999; padding: .5em; } +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } + +.oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} +.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} + +.page-body { max-width: 800px; margin: auto; } +.tree dl { margin: 0px } + +/* Index formatting classes */ + +.index-item-body { margin-top: .5em; margin-bottom: .5em} +.index-item-description { margin-top: .25em } +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} +.index-letter-title { font-size: 12pt; font-weight: bold } +.index-letter-menu { text-align: center; margin: 1em } +.index-letter { font-size: 12pt } + +/* Docbook classes */ + +.description {} +.short-description { font-weight: bold; color: #666666; } +.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } +.parameters { padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; } +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } +.package { } +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } +.package-details { font-size: 85%; } +.sub-package { font-weight: bold; font-size: 120% } +.tutorial { border-width: thin; border-color: #0066ff } +.tutorial-nav-box { width: 100%; border: 1px solid #999999; background-color: #F8F8F8; } +.nav-button-disabled { color: #999999; } +.nav-button:active, +.nav-button:focus, +.nav-button:hover { background-color: #DDDDDD; outline: 1px solid #999999; text-decoration: none } +.folder-title { font-style: italic } + +/* Generic formatting */ + +.field { font-weight: bold; } +.detail { font-size: 8pt; } +.notes { font-style: italic; font-size: 8pt; } +.separator { background-color: #999999; height: 2px; } +.warning { color: #FF6600; } +.disabled { font-style: italic; color: #999999; } + +/* Code elements */ + +.line-number { } + +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left} +.class-name { color: #000000; font-weight: bold; } + +.method-summary { padding-left: 1em; font-size: 8pt } +.method-header { } +.method-definition { margin-bottom: .3em } +.method-title { font-weight: bold; } +.method-name { font-weight: bold; } +.method-signature { font-size: 85%; color: #666666; margin: .5em 0em } +.method-result { font-style: italic; } + +.var-summary { padding-left: 1em; font-size: 8pt; } +.var-header { } +.var-title { margin-bottom: .3em } +.var-type { font-style: italic; } +.var-name { font-weight: bold; } +.var-default {} +.var-description { font-weight: normal; color: #000000; } + +.include-title { } +.include-type { font-style: italic; } +.include-name { font-weight: bold; } + +.const-title { } +.const-name { font-weight: bold; } + +/* Syntax highlighting */ + +.src-code { border: 1px solid #336699; padding: 1em; background-color: #EEEEEE; } + +.src-comm { color: green; } +.src-id { } +.src-inc { color: #0000FF; } +.src-key { color: #0000FF; } +.src-num { color: #CC0000; } +.src-str { color: #66cccc; } +.src-sym { font-weight: bold; } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #009999 } +.src-doc-close-template { color: #0000FF } +.src-doc-coretag { color: #0099FF; font-weight: bold } +.src-doc-inlinetag { color: #0099FF } +.src-doc-internal { color: #6699cc } +.src-doc-tag { color: #0080CC } +.src-doc-template { color: #0000FF } +.src-doc-type { font-style: italic } +.src-doc-var { font-style: italic } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em } +.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em; border: 2px solid #999999; background-color: #CCCCFF } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>Docs For Class Structures_Graph</title> + <link rel="stylesheet" href="../media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="page-body"> +<h2 class="class-name">Class Structures_Graph</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + <span class="disabled">Description</span> | + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + + </div> + <div class="info-box-body"> + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">The Structures_Graph class represents a graph data structure.</p> +<p class="description"><p>A Graph is a data structure composed by a set of nodes, connected by arcs. Graphs may either be directed or undirected. In a directed graph, arcs are directional, and can be traveled only one way. In an undirected graph, arcs are bidirectional, and can be traveled both ways.</p></p> + <ul class="tags"> + <li><span class="field">copyright:</span> (c) 2004 by Sérgio Carvalho</li> + <li><span class="field">author:</span> Sérgio Carvalho <<a href="mailto:sergio.carvalho@portugalmail.com">mailto:sergio.carvalho@portugalmail.com</a>></li> + </ul> + <p class="notes"> + Located in <a class="field" href="_Structures_Graph_php.html">/Structures/Graph.php</a> (line <span class="field">56</span>) + </p> + + + <pre></pre> + + </div> +</div> + + + + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + + <div class="method-definition"> + <span class="method-result">Structures_Graph</span> + <a href="#Structures_Graph" title="details" class="method-name">Structures_Graph</a> + ([<span class="var-type">boolean</span> <span class="var-name">$directed</span> = <span class="var-default">true</span>]) + </div> + + <div class="method-definition"> + <span class="method-result">void</span> + <a href="#addNode" title="details" class="method-name">addNode</a> + (<span class="var-type"><a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></span> <span class="var-name">&$newNode</span>) + </div> + + <div class="method-definition"> + <span class="method-result">array</span> + <a href="#getNodes" title="details" class="method-name">&getNodes</a> + () + </div> + + <div class="method-definition"> + <span class="method-result">boolean</span> + <a href="#isDirected" title="details" class="method-name">isDirected</a> + () + </div> + + <div class="method-definition"> + <span class="method-result">void</span> + <a href="#removeNode" title="details" class="method-name">removeNode</a> + (<span class="var-type"><a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></span> <span class="var-name">&$node</span>) + </div> + </div> + </div> + </div> + + + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + + </div> + <div class="info-box-body"> + <A NAME='method_detail'></A> +<a name="methodStructures_Graph" id="Structures_Graph"><!-- --></a> +<div class="evenrow"> + + <div class="method-header"> + <span class="method-title">Constructor Structures_Graph</span> (line <span class="line-number">76</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Constructor</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">Structures_Graph</span> + <span class="method-name"> + Structures_Graph + </span> + ([<span class="var-type">boolean</span> <span class="var-name">$directed</span> = <span class="var-default">true</span>]) + </div> + + <ul class="parameters"> + <li> + <span class="var-type">boolean</span> + <span class="var-name">$directed</span><span class="var-description">: Set to true if the graph is directed. Set to false if it is not directed. (Optional, defaults to true)</span> </li> + </ul> + + + </div> +<a name="methodaddNode" id="addNode"><!-- --></a> +<div class="oddrow"> + + <div class="method-header"> + <span class="method-title">addNode</span> (line <span class="line-number">102</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Add a Node to the Graph</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">void</span> + <span class="method-name"> + addNode + </span> + (<span class="var-type"><a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></span> <span class="var-name">&$newNode</span>) + </div> + + <ul class="parameters"> + <li> + <span class="var-type"><a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></span> + <span class="var-name">&$newNode</span><span class="var-description">: The node to be added.</span> </li> + </ul> + + + </div> +<a name="methodgetNodes" id="getNodes"><!-- --></a> +<div class="evenrow"> + + <div class="method-header"> + <span class="method-title">getNodes</span> (line <span class="line-number">151</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Return the node set, in no particular order. For ordered node sets, use a Graph Manipulator insted.</p> + <ul class="tags"> + <li><span class="field">return:</span> The set of nodes in this graph</li> + <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html">Structures_Graph_Manipulator_TopologicalSorter</a></li> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">array</span> + <span class="method-name"> + &getNodes + </span> + () + </div> + + + + </div> +<a name="methodisDirected" id="isDirected"><!-- --></a> +<div class="oddrow"> + + <div class="method-header"> + <span class="method-title">isDirected</span> (line <span class="line-number">89</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Return true if a graph is directed</p> + <ul class="tags"> + <li><span class="field">return:</span> true if the graph is directed</li> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">boolean</span> + <span class="method-name"> + isDirected + </span> + () + </div> + + + + </div> +<a name="methodremoveNode" id="removeNode"><!-- --></a> +<div class="evenrow"> + + <div class="method-header"> + <span class="method-title">removeNode</span> (line <span class="line-number">138</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Remove a Node from the Graph</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + <li><span class="field">todo:</span> This is unimplemented</li> + </ul> + + <div class="method-signature"> + <span class="method-result">void</span> + <span class="method-name"> + removeNode + </span> + (<span class="var-type"><a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></span> <span class="var-name">&$node</span>) + </div> + + <ul class="parameters"> + <li> + <span class="var-type"><a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></span> + <span class="var-name">&$node</span><span class="var-description">: The node to be removed from the graph</span> </li> + </ul> + + + </div> + + </div> + </div> + + <p class="notes" id="credit"> + Documentation generated on Fri, 30 Jan 2004 16:37:28 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a> + </p> + </div></body> +</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>Docs For Class Structures_Graph_Manipulator_AcyclicTest</title> + <link rel="stylesheet" href="../media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="page-body"> +<h2 class="class-name">Class Structures_Graph_Manipulator_AcyclicTest</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + <span class="disabled">Description</span> | + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + + </div> + <div class="info-box-body"> + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">The Structures_Graph_Manipulator_AcyclicTest is a graph manipulator which tests whether a graph contains a cycle.</p> +<p class="description"><p>The definition of an acyclic graph used in this manipulator is that of a DAG. The graph must be directed, or else it is considered cyclic, even when there are no arcs.</p></p> + <ul class="tags"> + <li><span class="field">copyright:</span> (c) 2004 by Sérgio Carvalho</li> + <li><span class="field">author:</span> Sérgio Carvalho <<a href="mailto:sergio.carvalho@portugalmail.com">mailto:sergio.carvalho@portugalmail.com</a>></li> + </ul> + <p class="notes"> + Located in <a class="field" href="_Structures_Graph_Manipulator_AcyclicTest_php.html">/Structures/Graph/Manipulator/AcyclicTest.php</a> (line <span class="field">55</span>) + </p> + + + <pre></pre> + + </div> +</div> + + + + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + + <div class="method-definition"> + <span class="method-result">boolean</span> + <a href="#isAcyclic" title="details" class="method-name">isAcyclic</a> + (<span class="var-type">mixed</span> <span class="var-name">&$graph</span>) + </div> + </div> + </div> + </div> + + + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + + </div> + <div class="info-box-body"> + <A NAME='method_detail'></A> +<a name="methodisAcyclic" id="isAcyclic"><!-- --></a> +<div class="evenrow"> + + <div class="method-header"> + <span class="method-title">isAcyclic</span> (line <span class="line-number">126</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">isAcyclic returns true if a graph contains no cycles, false otherwise.</p> + <ul class="tags"> + <li><span class="field">return:</span> true iff graph is acyclic</li> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">boolean</span> + <span class="method-name"> + isAcyclic + </span> + (<span class="var-type">mixed</span> <span class="var-name">&$graph</span>) + </div> + + + + </div> + + </div> + </div> + + <p class="notes" id="credit"> + Documentation generated on Fri, 30 Jan 2004 16:37:28 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a> + </p> + </div></body> +</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>Docs For Class Structures_Graph_Manipulator_TopologicalSorter</title> + <link rel="stylesheet" href="../media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="page-body"> +<h2 class="class-name">Class Structures_Graph_Manipulator_TopologicalSorter</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + <span class="disabled">Description</span> | + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + + </div> + <div class="info-box-body"> + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">The Structures_Graph_Manipulator_TopologicalSorter is a manipulator which is able to return the set of nodes in a graph, sorted by topological order.</p> +<p class="description"><p>A graph may only be sorted topologically iff it's a DAG. You can test it with the Structures_Graph_Manipulator_AcyclicTest.</p></p> + <ul class="tags"> + <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html">Structures_Graph_Manipulator_AcyclicTest</a></li> + <li><span class="field">copyright:</span> (c) 2004 by Sérgio Carvalho</li> + <li><span class="field">author:</span> Sérgio Carvalho <<a href="mailto:sergio.carvalho@portugalmail.com">mailto:sergio.carvalho@portugalmail.com</a>></li> + </ul> + <p class="notes"> + Located in <a class="field" href="_Structures_Graph_Manipulator_TopologicalSorter_php.html">/Structures/Graph/Manipulator/TopologicalSorter.php</a> (line <span class="field">58</span>) + </p> + + + <pre></pre> + + </div> +</div> + + + + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + + <div class="method-definition"> + <span class="method-result">array</span> + <a href="#sort" title="details" class="method-name">sort</a> + (<span class="var-type">mixed</span> <span class="var-name">&$graph</span>) + </div> + </div> + </div> + </div> + + + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + + </div> + <div class="info-box-body"> + <A NAME='method_detail'></A> +<a name="methodsort" id="sort"><!-- --></a> +<div class="evenrow"> + + <div class="method-header"> + <span class="method-title">sort</span> (line <span class="line-number">133</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">sort returns the graph's nodes, sorted by topological order.</p> +<p class="description"><p>The result is an array with as many entries as topological levels. Each entry in this array is an array of nodes within the given topological level.</p></p> + <ul class="tags"> + <li><span class="field">return:</span> The graph's nodes, sorted by topological order.</li> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">array</span> + <span class="method-name"> + sort + </span> + (<span class="var-type">mixed</span> <span class="var-name">&$graph</span>) + </div> + + + + </div> + + </div> + </div> + + <p class="notes" id="credit"> + Documentation generated on Fri, 30 Jan 2004 16:37:29 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a> + </p> + </div></body> +</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>Docs For Class Structures_Graph_Node</title> + <link rel="stylesheet" href="../media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="page-body"> +<h2 class="class-name">Class Structures_Graph_Node</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + <span class="disabled">Description</span> | + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + + </div> + <div class="info-box-body"> + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">The Structures_Graph_Node class represents a Node that can be member of a graph node set.</p> +<p class="description"><p>A graph node can contain data. Under this API, the node contains default data, and key index data. It behaves, thus, both as a regular data node, and as a dictionary (or associative array) node.</p><p>Regular data is accessed via getData and setData. Key indexed data is accessed via getMetadata and setMetadata.</p></p> + <ul class="tags"> + <li><span class="field">copyright:</span> (c) 2004 by Sérgio Carvalho</li> + <li><span class="field">author:</span> Sérgio Carvalho <<a href="mailto:sergio.carvalho@portugalmail.com">mailto:sergio.carvalho@portugalmail.com</a>></li> + </ul> + <p class="notes"> + Located in <a class="field" href="_Structures_Graph_Node_php.html">/Structures/Graph/Node.php</a> (line <span class="field">57</span>) + </p> + + + <pre></pre> + + </div> +</div> + + + + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + + <div class="method-definition"> + <span class="method-result">Structures_Graph_Node</span> + <a href="#Structures_Graph_Node" title="details" class="method-name">Structures_Graph_Node</a> + () + </div> + + <div class="method-definition"> + <span class="method-result">boolean</span> + <a href="#connectsTo" title="details" class="method-name">connectsTo</a> + (<span class="var-type">mixed</span> <span class="var-name">&$target</span>) + </div> + + <div class="method-definition"> + <span class="method-result">void</span> + <a href="#connectTo" title="details" class="method-name">connectTo</a> + (<span class="var-type"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span> <span class="var-name">&$destinationNode</span>) + </div> + + <div class="method-definition"> + <span class="method-result">mixed</span> + <a href="#getData" title="details" class="method-name">&getData</a> + () + </div> + + <div class="method-definition"> + <span class="method-result"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span> + <a href="#getGraph" title="details" class="method-name">&getGraph</a> + () + </div> + + <div class="method-definition"> + <span class="method-result">mixed</span> + <a href="#getMetadata" title="details" class="method-name">&getMetadata</a> + (<span class="var-type">string</span> <span class="var-name">$key</span>, [<span class="var-type">boolean</span> <span class="var-name">$nullIfNonexistent</span> = <span class="var-default">false</span>]) + </div> + + <div class="method-definition"> + <span class="method-result">array</span> + <a href="#getNeighbours" title="details" class="method-name">getNeighbours</a> + () + </div> + + <div class="method-definition"> + <span class="method-result">integer</span> + <a href="#inDegree" title="details" class="method-name">inDegree</a> + () + </div> + + <div class="method-definition"> + <span class="method-result">boolean</span> + <a href="#metadataKeyExists" title="details" class="method-name">metadataKeyExists</a> + (<span class="var-type">string</span> <span class="var-name">$key</span>) + </div> + + <div class="method-definition"> + <span class="method-result">integer</span> + <a href="#outDegree" title="details" class="method-name">outDegree</a> + () + </div> + + <div class="method-definition"> + <span class="method-result">mixed</span> + <a href="#setData" title="details" class="method-name">setData</a> + (<span class="var-type">mixed</span> <span class="var-name">$data</span>) + </div> + + <div class="method-definition"> + <span class="method-result">void</span> + <a href="#setGraph" title="details" class="method-name">setGraph</a> + (<span class="var-type"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span> <span class="var-name">&$graph</span>) + </div> + + <div class="method-definition"> + <span class="method-result">void</span> + <a href="#setMetadata" title="details" class="method-name">setMetadata</a> + (<span class="var-type">string</span> <span class="var-name">$key</span>, <span class="var-type">mixed</span> <span class="var-name">$data</span>) + </div> + + <div class="method-definition"> + <span class="method-result">void</span> + <a href="#unsetMetadata" title="details" class="method-name">unsetMetadata</a> + (<span class="var-type">string</span> <span class="var-name">$key</span>) + </div> + </div> + </div> + </div> + + + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + + </div> + <div class="info-box-body"> + <A NAME='method_detail'></A> +<a name="methodStructures_Graph_Node" id="Structures_Graph_Node"><!-- --></a> +<div class="evenrow"> + + <div class="method-header"> + <span class="method-title">Constructor Structures_Graph_Node</span> (line <span class="line-number">78</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Constructor</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">Structures_Graph_Node</span> + <span class="method-name"> + Structures_Graph_Node + </span> + () + </div> + + + + </div> +<a name="methodconnectsTo" id="connectsTo"><!-- --></a> +<div class="oddrow"> + + <div class="method-header"> + <span class="method-title">connectsTo</span> (line <span class="line-number">275</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Test wether this node has an arc to the target node</p> + <ul class="tags"> + <li><span class="field">return:</span> True if the two nodes are connected</li> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">boolean</span> + <span class="method-name"> + connectsTo + </span> + (<span class="var-type">mixed</span> <span class="var-name">&$target</span>) + </div> + + + + </div> +<a name="methodconnectTo" id="connectTo"><!-- --></a> +<div class="evenrow"> + + <div class="method-header"> + <span class="method-title">connectTo</span> (line <span class="line-number">236</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Connect this node to another one.</p> +<p class="description"><p>If the graph is not directed, the reverse arc, connecting $destinationNode to $this is also created.</p></p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">void</span> + <span class="method-name"> + connectTo + </span> + (<span class="var-type"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span> <span class="var-name">&$destinationNode</span>) + </div> + + <ul class="parameters"> + <li> + <span class="var-type"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span> + <span class="var-name">&$destinationNode</span><span class="var-description">: Node to connect to</span> </li> + </ul> + + + </div> +<a name="methodgetData" id="getData"><!-- --></a> +<div class="oddrow"> + + <div class="method-header"> + <span class="method-title">getData</span> (line <span class="line-number">119</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Node data getter.</p> +<p class="description"><p>Each graph node can contain a reference to one variable. This is the getter for that reference.</p></p> + <ul class="tags"> + <li><span class="field">return:</span> Data stored in node</li> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">mixed</span> + <span class="method-name"> + &getData + </span> + () + </div> + + + + </div> +<a name="methodgetGraph" id="getGraph"><!-- --></a> +<div class="evenrow"> + + <div class="method-header"> + <span class="method-title">getGraph</span> (line <span class="line-number">90</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Node graph getter</p> + <ul class="tags"> + <li><span class="field">return:</span> Graph where node is stored</li> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span> + <span class="method-name"> + &getGraph + </span> + () + </div> + + + + </div> +<a name="methodgetMetadata" id="getMetadata"><!-- --></a> +<div class="oddrow"> + + <div class="method-header"> + <span class="method-title">getMetadata</span> (line <span class="line-number">171</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Node metadata getter</p> +<p class="description"><p>Each graph node can contain multiple 'metadata' entries, each stored under a different key, as in an associative array or in a dictionary. This method gets the data under the given key. If the key does not exist, an error will be thrown, so testing using metadataKeyExists might be needed.</p></p> + <ul class="tags"> + <li><span class="field">return:</span> Metadata Data stored in node under given key</li> + <li><span class="field">access:</span> public</li> + <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph_Node.html#methodmetadataKeyExists">Structures_Graph_Node::metadataKeyExists()</a></li> + </ul> + + <div class="method-signature"> + <span class="method-result">mixed</span> + <span class="method-name"> + &getMetadata + </span> + (<span class="var-type">string</span> <span class="var-name">$key</span>, [<span class="var-type">boolean</span> <span class="var-name">$nullIfNonexistent</span> = <span class="var-default">false</span>]) + </div> + + <ul class="parameters"> + <li> + <span class="var-type">string</span> + <span class="var-name">$key</span><span class="var-description">: Key</span> </li> + <li> + <span class="var-type">boolean</span> + <span class="var-name">$nullIfNonexistent</span><span class="var-description">: nullIfNonexistent (defaults to false).</span> </li> + </ul> + + + </div> +<a name="methodgetNeighbours" id="getNeighbours"><!-- --></a> +<div class="evenrow"> + + <div class="method-header"> + <span class="method-title">getNeighbours</span> (line <span class="line-number">262</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Return nodes connected to this one.</p> + <ul class="tags"> + <li><span class="field">return:</span> Array of nodes</li> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">array</span> + <span class="method-name"> + getNeighbours + </span> + () + </div> + + + + </div> +<a name="methodinDegree" id="inDegree"><!-- --></a> +<div class="oddrow"> + + <div class="method-header"> + <span class="method-title">inDegree</span> (line <span class="line-number">309</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Calculate the in degree of the node.</p> +<p class="description"><p>The indegree for a node is the number of arcs entering the node. For non directed graphs, the indegree is equal to the outdegree.</p></p> + <ul class="tags"> + <li><span class="field">return:</span> In degree of the node</li> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">integer</span> + <span class="method-name"> + inDegree + </span> + () + </div> + + + + </div> +<a name="methodmetadataKeyExists" id="metadataKeyExists"><!-- --></a> +<div class="evenrow"> + + <div class="method-header"> + <span class="method-title">metadataKeyExists</span> (line <span class="line-number">151</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Test for existence of metadata under a given key.</p> +<p class="description"><p>Each graph node can contain multiple 'metadata' entries, each stored under a different key, as in an associative array or in a dictionary. This method tests whether a given metadata key exists for this node.</p></p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">boolean</span> + <span class="method-name"> + metadataKeyExists + </span> + (<span class="var-type">string</span> <span class="var-name">$key</span>) + </div> + + <ul class="parameters"> + <li> + <span class="var-type">string</span> + <span class="var-name">$key</span><span class="var-description">: Key to test</span> </li> + </ul> + + + </div> +<a name="methodoutDegree" id="outDegree"><!-- --></a> +<div class="oddrow"> + + <div class="method-header"> + <span class="method-title">outDegree</span> (line <span class="line-number">333</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Calculate the out degree of the node.</p> +<p class="description"><p>The outdegree for a node is the number of arcs exiting the node. For non directed graphs, the outdegree is always equal to the indegree.</p></p> + <ul class="tags"> + <li><span class="field">return:</span> Out degree of the node</li> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">integer</span> + <span class="method-name"> + outDegree + </span> + () + </div> + + + + </div> +<a name="methodsetData" id="setData"><!-- --></a> +<div class="evenrow"> + + <div class="method-header"> + <span class="method-title">setData</span> (line <span class="line-number">134</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Node data setter</p> +<p class="description"><p>Each graph node can contain a reference to one variable. This is the setter for that reference.</p></p> + <ul class="tags"> + <li><span class="field">return:</span> Data to store in node</li> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">mixed</span> + <span class="method-name"> + setData + </span> + (<span class="var-type">mixed</span> <span class="var-name">$data</span>) + </div> + + + + </div> +<a name="methodsetGraph" id="setGraph"><!-- --></a> +<div class="oddrow"> + + <div class="method-header"> + <span class="method-title">setGraph</span> (line <span class="line-number">104</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Node graph setter. This method should not be called directly. Use Graph::addNode instead.</p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph.html#methodaddNode">Structures_Graph::addNode()</a></li> + </ul> + + <div class="method-signature"> + <span class="method-result">void</span> + <span class="method-name"> + setGraph + </span> + (<span class="var-type"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span> <span class="var-name">&$graph</span>) + </div> + + <ul class="parameters"> + <li> + <span class="var-type"><a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></span> + <span class="var-name">&$graph</span><span class="var-description">: Set the graph for this node.</span> </li> + </ul> + + + </div> +<a name="methodsetMetadata" id="setMetadata"><!-- --></a> +<div class="evenrow"> + + <div class="method-header"> + <span class="method-title">setMetadata</span> (line <span class="line-number">214</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Node metadata setter</p> +<p class="description"><p>Each graph node can contain multiple 'metadata' entries, each stored under a different key, as in an associative array or in a dictionary. This method stores data under the given key. If the key already exists, previously stored data is discarded.</p></p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">void</span> + <span class="method-name"> + setMetadata + </span> + (<span class="var-type">string</span> <span class="var-name">$key</span>, <span class="var-type">mixed</span> <span class="var-name">$data</span>) + </div> + + <ul class="parameters"> + <li> + <span class="var-type">string</span> + <span class="var-name">$key</span><span class="var-description">: Key</span> </li> + <li> + <span class="var-type">mixed</span> + <span class="var-name">$data</span><span class="var-description">: Data</span> </li> + </ul> + + + </div> +<a name="methodunsetMetadata" id="unsetMetadata"><!-- --></a> +<div class="oddrow"> + + <div class="method-header"> + <span class="method-title">unsetMetadata</span> (line <span class="line-number">196</span>) + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Delete metadata by key</p> +<p class="description"><p>Each graph node can contain multiple 'metadata' entries, each stored under a different key, as in an associative array or in a dictionary. This method removes any data that might be stored under the provided key. If the key does not exist, no error is thrown, so it is safe using this method without testing for key existence.</p></p> + <ul class="tags"> + <li><span class="field">access:</span> public</li> + </ul> + + <div class="method-signature"> + <span class="method-result">void</span> + <span class="method-name"> + unsetMetadata + </span> + (<span class="var-type">string</span> <span class="var-name">$key</span>) + </div> + + <ul class="parameters"> + <li> + <span class="var-type">string</span> + <span class="var-name">$key</span><span class="var-description">: Key</span> </li> + </ul> + + + </div> + + </div> + </div> + + <p class="notes" id="credit"> + Documentation generated on Fri, 30 Jan 2004 16:37:29 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a> + </p> + </div></body> +</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>Structures_Graph Tutorial</title> + <link rel="stylesheet" href="../media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="page-body"> + <div><a name="package.database.structures_graph.tutorial"></a><div class="ref-title-box"><h1 class="ref-title">Structures_Graph Tutorial</h1> <h2 class="ref-purpose">A first tour of graph datastructure manipulation</h2></div> <span><a name="package.database.structures_graph.tutorial.intro"></a><h2 class="title">Introduction</h2><p>Structures_Graph is a package for creating and manipulating graph datastructures. A graph is a set of objects, called nodes, connected by arcs. When used as a datastructure, usually nodes contain data, and arcs represent relationships between nodes. When arcs have a direction, and can be travelled only one way, graphs are said to be directed. When arcs have no direction, and can always be travelled both ways, graphs are said to be non directed.</p> @@ -91147,1347 +91152,1347 @@ $arcs = $nodeOne->getNeighbours(); for ($i=0;$i<sizeof($arcs);$i++) { print("NodeOne has an arc to " . $arcs[$i]->getData()); } - </pre></pre></p></span></div>
-
-
- <p class="notes" id="credit">
- Documentation generated on Fri, 30 Jan 2004 16:37:28 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
- </p>
- </div></body>
-</html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title>Docs for page AcyclicTest.php</title>
- <link rel="stylesheet" href="../media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <div class="page-body">
-<h2 class="file-name">/Structures/Graph/Manipulator/AcyclicTest.php</h2>
-
-<a name="sec-description"></a>
-<div class="info-box">
- <div class="info-box-title">Description</div>
- <div class="nav-bar">
- <span class="disabled">Description</span> |
- <a href="#sec-classes">Classes</a>
- | <a href="#sec-includes">Includes</a>
- </div>
- <div class="info-box-body">
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">This file contains the definition of the Structures_Graph_Manipulator_AcyclicTest graph manipulator.</p>
- <ul class="tags">
- <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html">Structures_Graph_Manipulator_AcyclicTest</a></li>
- </ul>
-
- </div>
-</div>
-
- <a name="sec-classes"></a>
- <div class="info-box">
- <div class="info-box-title">Classes</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <span class="disabled">Classes</span>
- | <a href="#sec-includes">Includes</a>
- </div>
- <div class="info-box-body">
- <table cellpadding="2" cellspacing="0" class="class-table">
- <tr>
- <th class="class-table-header">Class</th>
- <th class="class-table-header">Description</th>
- </tr>
- <tr>
- <td style="padding-right: 2em; vertical-align: top">
- <a href="../Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html">Structures_Graph_Manipulator_AcyclicTest</a>
- </td>
- <td>
- The Structures_Graph_Manipulator_AcyclicTest is a graph manipulator which tests whether a graph contains a cycle.
- </td>
- </tr>
- </table>
- </div>
- </div>
-
- <a name="sec-includes"></a>
- <div class="info-box">
- <div class="info-box-title">Includes</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <a href="#sec-classes">Classes</a>
- | <span class="disabled">Includes</span>
- </div>
- <div class="info-box-body">
- <a name="_PEAR_php"><!-- --></a>
-<div class="oddrow">
-
- <div>
- <span class="include-title">
- <span class="include-type">require_once</span>
- (<span class="include-name">'PEAR.php'</span>)
- (line <span class="line-number">35</span>)
- </span>
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-
-</div>
-<a name="_Structures/Graph_php"><!-- --></a>
-<div class="evenrow">
-
- <div>
- <span class="include-title">
- <span class="include-type">require_once</span>
- (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_php.html">'Structures/Graph.php'</a></span>)
- (line <span class="line-number">37</span>)
- </span>
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-
-</div>
-<a name="_Structures/Graph/Node_php"><!-- --></a>
-<div class="oddrow">
-
- <div>
- <span class="include-title">
- <span class="include-type">require_once</span>
- (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_Node_php.html">'Structures/Graph/Node.php'</a></span>)
- (line <span class="line-number">39</span>)
- </span>
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-
-</div>
- </div>
- </div>
-
-
-
-
- <p class="notes" id="credit">
- Documentation generated on Fri, 30 Jan 2004 16:37:28 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
- </p>
- </div></body>
-</html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title>Docs for page TopologicalSorter.php</title>
- <link rel="stylesheet" href="../media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <div class="page-body">
-<h2 class="file-name">/Structures/Graph/Manipulator/TopologicalSorter.php</h2>
-
-<a name="sec-description"></a>
-<div class="info-box">
- <div class="info-box-title">Description</div>
- <div class="nav-bar">
- <span class="disabled">Description</span> |
- <a href="#sec-classes">Classes</a>
- | <a href="#sec-includes">Includes</a>
- </div>
- <div class="info-box-body">
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">This file contains the definition of the Structures_Graph_Manipulator_TopologicalSorter class.</p>
- <ul class="tags">
- <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html">Structures_Graph_Manipulator_TopologicalSorter</a></li>
- </ul>
-
- </div>
-</div>
-
- <a name="sec-classes"></a>
- <div class="info-box">
- <div class="info-box-title">Classes</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <span class="disabled">Classes</span>
- | <a href="#sec-includes">Includes</a>
- </div>
- <div class="info-box-body">
- <table cellpadding="2" cellspacing="0" class="class-table">
- <tr>
- <th class="class-table-header">Class</th>
- <th class="class-table-header">Description</th>
- </tr>
- <tr>
- <td style="padding-right: 2em; vertical-align: top">
- <a href="../Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html">Structures_Graph_Manipulator_TopologicalSorter</a>
- </td>
- <td>
- The Structures_Graph_Manipulator_TopologicalSorter is a manipulator which is able to return the set of nodes in a graph, sorted by topological order.
- </td>
- </tr>
- </table>
- </div>
- </div>
-
- <a name="sec-includes"></a>
- <div class="info-box">
- <div class="info-box-title">Includes</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <a href="#sec-classes">Classes</a>
- | <span class="disabled">Includes</span>
- </div>
- <div class="info-box-body">
- <a name="_PEAR_php"><!-- --></a>
-<div class="oddrow">
-
- <div>
- <span class="include-title">
- <span class="include-type">require_once</span>
- (<span class="include-name">'PEAR.php'</span>)
- (line <span class="line-number">35</span>)
- </span>
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-
-</div>
-<a name="_Structures/Graph_php"><!-- --></a>
-<div class="evenrow">
-
- <div>
- <span class="include-title">
- <span class="include-type">require_once</span>
- (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_php.html">'Structures/Graph.php'</a></span>)
- (line <span class="line-number">37</span>)
- </span>
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-
-</div>
-<a name="_Structures/Graph/Node_php"><!-- --></a>
-<div class="oddrow">
-
- <div>
- <span class="include-title">
- <span class="include-type">require_once</span>
- (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_Node_php.html">'Structures/Graph/Node.php'</a></span>)
- (line <span class="line-number">39</span>)
- </span>
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-
-</div>
-<a name="_Structures/Graph/Manipulator/AcyclicTest_php"><!-- --></a>
-<div class="evenrow">
-
- <div>
- <span class="include-title">
- <span class="include-type">require_once</span>
- (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html">'Structures/Graph/Manipulator/AcyclicTest.php'</a></span>)
- (line <span class="line-number">41</span>)
- </span>
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-
-</div>
- </div>
- </div>
-
-
-
-
- <p class="notes" id="credit">
- Documentation generated on Fri, 30 Jan 2004 16:37:29 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
- </p>
- </div></body>
-</html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title>Docs for page Node.php</title>
- <link rel="stylesheet" href="../media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <div class="page-body">
-<h2 class="file-name">/Structures/Graph/Node.php</h2>
-
-<a name="sec-description"></a>
-<div class="info-box">
- <div class="info-box-title">Description</div>
- <div class="nav-bar">
- <span class="disabled">Description</span> |
- <a href="#sec-classes">Classes</a>
- | <a href="#sec-includes">Includes</a>
- </div>
- <div class="info-box-body">
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">This file contains the definition of the Structures_Graph_Node class</p>
- <ul class="tags">
- <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></li>
- </ul>
-
- </div>
-</div>
-
- <a name="sec-classes"></a>
- <div class="info-box">
- <div class="info-box-title">Classes</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <span class="disabled">Classes</span>
- | <a href="#sec-includes">Includes</a>
- </div>
- <div class="info-box-body">
- <table cellpadding="2" cellspacing="0" class="class-table">
- <tr>
- <th class="class-table-header">Class</th>
- <th class="class-table-header">Description</th>
- </tr>
- <tr>
- <td style="padding-right: 2em; vertical-align: top">
- <a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a>
- </td>
- <td>
- The Structures_Graph_Node class represents a Node that can be member of a graph node set.
- </td>
- </tr>
- </table>
- </div>
- </div>
-
- <a name="sec-includes"></a>
- <div class="info-box">
- <div class="info-box-title">Includes</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <a href="#sec-classes">Classes</a>
- | <span class="disabled">Includes</span>
- </div>
- <div class="info-box-body">
- <a name="_PEAR_php"><!-- --></a>
-<div class="evenrow">
-
- <div>
- <span class="include-title">
- <span class="include-type">require_once</span>
- (<span class="include-name">'PEAR.php'</span>)
- (line <span class="line-number">35</span>)
- </span>
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-
-</div>
-<a name="_Structures/Graph_php"><!-- --></a>
-<div class="oddrow">
-
- <div>
- <span class="include-title">
- <span class="include-type">require_once</span>
- (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_php.html">'Structures/Graph.php'</a></span>)
- (line <span class="line-number">37</span>)
- </span>
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-
-</div>
- </div>
- </div>
-
-
-
-
- <p class="notes" id="credit">
- Documentation generated on Fri, 30 Jan 2004 16:37:29 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
- </p>
- </div></body>
-</html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title>Docs for page Graph.php</title>
- <link rel="stylesheet" href="../media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <div class="page-body">
-<h2 class="file-name">/Structures/Graph.php</h2>
-
-<a name="sec-description"></a>
-<div class="info-box">
- <div class="info-box-title">Description</div>
- <div class="nav-bar">
- <span class="disabled">Description</span> |
- <a href="#sec-classes">Classes</a>
- | <a href="#sec-includes">Includes</a>
- | <a href="#sec-constants">Constants</a>
- </div>
- <div class="info-box-body">
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">The Graph.php file contains the definition of the Structures_Graph class</p>
- <ul class="tags">
- <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></li>
- </ul>
-
- </div>
-</div>
-
- <a name="sec-classes"></a>
- <div class="info-box">
- <div class="info-box-title">Classes</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <span class="disabled">Classes</span>
- | <a href="#sec-includes">Includes</a>
- | <a href="#sec-constants">Constants</a>
- </div>
- <div class="info-box-body">
- <table cellpadding="2" cellspacing="0" class="class-table">
- <tr>
- <th class="class-table-header">Class</th>
- <th class="class-table-header">Description</th>
- </tr>
- <tr>
- <td style="padding-right: 2em; vertical-align: top">
- <a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a>
- </td>
- <td>
- The Structures_Graph class represents a graph data structure.
- </td>
- </tr>
- </table>
- </div>
- </div>
-
- <a name="sec-includes"></a>
- <div class="info-box">
- <div class="info-box-title">Includes</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <a href="#sec-classes">Classes</a>
- | <span class="disabled">Includes</span>
- | <a href="#sec-constants">Constants</a>
- </div>
- <div class="info-box-body">
- <a name="_Structures/Graph/Node_php"><!-- --></a>
-<div class="oddrow">
-
- <div>
- <span class="include-title">
- <span class="include-type">require_once</span>
- (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_Node_php.html">'Structures/Graph/Node.php'</a></span>)
- (line <span class="line-number">37</span>)
- </span>
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">Graph Node</p>
-
-</div>
-<a name="_PEAR_php"><!-- --></a>
-<div class="evenrow">
-
- <div>
- <span class="include-title">
- <span class="include-type">require_once</span>
- (<span class="include-name">'PEAR.php'</span>)
- (line <span class="line-number">35</span>)
- </span>
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-<p class="short-description">PEAR base classes</p>
-
-</div>
- </div>
- </div>
-
- <a name="sec-constants"></a>
- <div class="info-box">
- <div class="info-box-title">Constants</div>
- <div class="nav-bar">
- <a href="#sec-description">Description</a> |
- <a href="#sec-classes">Classes</a>
- | <a href="#sec-includes">Includes</a>
- | <span class="disabled">Constants</span>
- </div>
- <div class="info-box-body">
- <a name="defineSTRUCTURES_GRAPH_ERROR_GENERIC"><!-- --></a>
-<div class="oddrow">
-
- <div>
- <span class="const-title">
- <span class="const-name">STRUCTURES_GRAPH_ERROR_GENERIC</span> = 100
- (line <span class="line-number">40</span>)
- </span>
- </div>
-
- <!-- ========== Info from phpDoc block ========= -->
-
-
-</div>
- </div>
- </div>
-
-
-
- <p class="notes" id="credit">
- Documentation generated on Fri, 30 Jan 2004 16:37:28 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
- </p>
- </div></body>
-</html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title></title>
- <link rel="stylesheet" href="media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
-
-<!-- Start of Class Data -->
-<H2>
-
-</H2>
-<h2>Root class Structures_Graph</h2>
+ </pre></pre></p></span></div> + + + <p class="notes" id="credit"> + Documentation generated on Fri, 30 Jan 2004 16:37:28 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a> + </p> + </div></body> +</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>Docs for page AcyclicTest.php</title> + <link rel="stylesheet" href="../media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="page-body"> +<h2 class="file-name">/Structures/Graph/Manipulator/AcyclicTest.php</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + <span class="disabled">Description</span> | + <a href="#sec-classes">Classes</a> + | <a href="#sec-includes">Includes</a> + </div> + <div class="info-box-body"> + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">This file contains the definition of the Structures_Graph_Manipulator_AcyclicTest graph manipulator.</p> + <ul class="tags"> + <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html">Structures_Graph_Manipulator_AcyclicTest</a></li> + </ul> + + </div> +</div> + + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + | <a href="#sec-includes">Includes</a> + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + <tr> + <td style="padding-right: 2em; vertical-align: top"> + <a href="../Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html">Structures_Graph_Manipulator_AcyclicTest</a> + </td> + <td> + The Structures_Graph_Manipulator_AcyclicTest is a graph manipulator which tests whether a graph contains a cycle. + </td> + </tr> + </table> + </div> + </div> + + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <a href="#sec-classes">Classes</a> + | <span class="disabled">Includes</span> + </div> + <div class="info-box-body"> + <a name="_PEAR_php"><!-- --></a> +<div class="oddrow"> + + <div> + <span class="include-title"> + <span class="include-type">require_once</span> + (<span class="include-name">'PEAR.php'</span>) + (line <span class="line-number">35</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + +</div> +<a name="_Structures/Graph_php"><!-- --></a> +<div class="evenrow"> + + <div> + <span class="include-title"> + <span class="include-type">require_once</span> + (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_php.html">'Structures/Graph.php'</a></span>) + (line <span class="line-number">37</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + +</div> +<a name="_Structures/Graph/Node_php"><!-- --></a> +<div class="oddrow"> + + <div> + <span class="include-title"> + <span class="include-type">require_once</span> + (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_Node_php.html">'Structures/Graph/Node.php'</a></span>) + (line <span class="line-number">39</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + +</div> + </div> + </div> + + + + + <p class="notes" id="credit"> + Documentation generated on Fri, 30 Jan 2004 16:37:28 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a> + </p> + </div></body> +</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>Docs for page TopologicalSorter.php</title> + <link rel="stylesheet" href="../media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="page-body"> +<h2 class="file-name">/Structures/Graph/Manipulator/TopologicalSorter.php</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + <span class="disabled">Description</span> | + <a href="#sec-classes">Classes</a> + | <a href="#sec-includes">Includes</a> + </div> + <div class="info-box-body"> + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">This file contains the definition of the Structures_Graph_Manipulator_TopologicalSorter class.</p> + <ul class="tags"> + <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html">Structures_Graph_Manipulator_TopologicalSorter</a></li> + </ul> + + </div> +</div> + + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + | <a href="#sec-includes">Includes</a> + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + <tr> + <td style="padding-right: 2em; vertical-align: top"> + <a href="../Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html">Structures_Graph_Manipulator_TopologicalSorter</a> + </td> + <td> + The Structures_Graph_Manipulator_TopologicalSorter is a manipulator which is able to return the set of nodes in a graph, sorted by topological order. + </td> + </tr> + </table> + </div> + </div> + + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <a href="#sec-classes">Classes</a> + | <span class="disabled">Includes</span> + </div> + <div class="info-box-body"> + <a name="_PEAR_php"><!-- --></a> +<div class="oddrow"> + + <div> + <span class="include-title"> + <span class="include-type">require_once</span> + (<span class="include-name">'PEAR.php'</span>) + (line <span class="line-number">35</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + +</div> +<a name="_Structures/Graph_php"><!-- --></a> +<div class="evenrow"> + + <div> + <span class="include-title"> + <span class="include-type">require_once</span> + (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_php.html">'Structures/Graph.php'</a></span>) + (line <span class="line-number">37</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + +</div> +<a name="_Structures/Graph/Node_php"><!-- --></a> +<div class="oddrow"> + + <div> + <span class="include-title"> + <span class="include-type">require_once</span> + (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_Node_php.html">'Structures/Graph/Node.php'</a></span>) + (line <span class="line-number">39</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + +</div> +<a name="_Structures/Graph/Manipulator/AcyclicTest_php"><!-- --></a> +<div class="evenrow"> + + <div> + <span class="include-title"> + <span class="include-type">require_once</span> + (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html">'Structures/Graph/Manipulator/AcyclicTest.php'</a></span>) + (line <span class="line-number">41</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + +</div> + </div> + </div> + + + + + <p class="notes" id="credit"> + Documentation generated on Fri, 30 Jan 2004 16:37:29 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a> + </p> + </div></body> +</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>Docs for page Node.php</title> + <link rel="stylesheet" href="../media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="page-body"> +<h2 class="file-name">/Structures/Graph/Node.php</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + <span class="disabled">Description</span> | + <a href="#sec-classes">Classes</a> + | <a href="#sec-includes">Includes</a> + </div> + <div class="info-box-body"> + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">This file contains the definition of the Structures_Graph_Node class</p> + <ul class="tags"> + <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></li> + </ul> + + </div> +</div> + + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + | <a href="#sec-includes">Includes</a> + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + <tr> + <td style="padding-right: 2em; vertical-align: top"> + <a href="../Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a> + </td> + <td> + The Structures_Graph_Node class represents a Node that can be member of a graph node set. + </td> + </tr> + </table> + </div> + </div> + + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <a href="#sec-classes">Classes</a> + | <span class="disabled">Includes</span> + </div> + <div class="info-box-body"> + <a name="_PEAR_php"><!-- --></a> +<div class="evenrow"> + + <div> + <span class="include-title"> + <span class="include-type">require_once</span> + (<span class="include-name">'PEAR.php'</span>) + (line <span class="line-number">35</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + +</div> +<a name="_Structures/Graph_php"><!-- --></a> +<div class="oddrow"> + + <div> + <span class="include-title"> + <span class="include-type">require_once</span> + (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_php.html">'Structures/Graph.php'</a></span>) + (line <span class="line-number">37</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + +</div> + </div> + </div> + + + + + <p class="notes" id="credit"> + Documentation generated on Fri, 30 Jan 2004 16:37:29 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a> + </p> + </div></body> +</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>Docs for page Graph.php</title> + <link rel="stylesheet" href="../media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="page-body"> +<h2 class="file-name">/Structures/Graph.php</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + <span class="disabled">Description</span> | + <a href="#sec-classes">Classes</a> + | <a href="#sec-includes">Includes</a> + | <a href="#sec-constants">Constants</a> + </div> + <div class="info-box-body"> + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">The Graph.php file contains the definition of the Structures_Graph class</p> + <ul class="tags"> + <li><span class="field">see:</span> <a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a></li> + </ul> + + </div> +</div> + + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + | <a href="#sec-includes">Includes</a> + | <a href="#sec-constants">Constants</a> + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + <tr> + <td style="padding-right: 2em; vertical-align: top"> + <a href="../Structures_Graph/Structures_Graph.html">Structures_Graph</a> + </td> + <td> + The Structures_Graph class represents a graph data structure. + </td> + </tr> + </table> + </div> + </div> + + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <a href="#sec-classes">Classes</a> + | <span class="disabled">Includes</span> + | <a href="#sec-constants">Constants</a> + </div> + <div class="info-box-body"> + <a name="_Structures/Graph/Node_php"><!-- --></a> +<div class="oddrow"> + + <div> + <span class="include-title"> + <span class="include-type">require_once</span> + (<span class="include-name"><a href="../Structures_Graph/_Structures_Graph_Node_php.html">'Structures/Graph/Node.php'</a></span>) + (line <span class="line-number">37</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">Graph Node</p> + +</div> +<a name="_PEAR_php"><!-- --></a> +<div class="evenrow"> + + <div> + <span class="include-title"> + <span class="include-type">require_once</span> + (<span class="include-name">'PEAR.php'</span>) + (line <span class="line-number">35</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> +<p class="short-description">PEAR base classes</p> + +</div> + </div> + </div> + + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <a href="#sec-classes">Classes</a> + | <a href="#sec-includes">Includes</a> + | <span class="disabled">Constants</span> + </div> + <div class="info-box-body"> + <a name="defineSTRUCTURES_GRAPH_ERROR_GENERIC"><!-- --></a> +<div class="oddrow"> + + <div> + <span class="const-title"> + <span class="const-name">STRUCTURES_GRAPH_ERROR_GENERIC</span> = 100 + (line <span class="line-number">40</span>) + </span> + </div> + + <!-- ========== Info from phpDoc block ========= --> + + +</div> + </div> + </div> + + + + <p class="notes" id="credit"> + Documentation generated on Fri, 30 Jan 2004 16:37:28 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a> + </p> + </div></body> +</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + +<!-- Start of Class Data --> +<H2> + +</H2> +<h2>Root class Structures_Graph</h2> <ul> <li><a href="Structures_Graph/Structures_Graph.html">Structures_Graph</a></li></ul> -
-<h2>Root class Structures_Graph_Manipulator_AcyclicTest</h2>
+ +<h2>Root class Structures_Graph_Manipulator_AcyclicTest</h2> <ul> <li><a href="Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html">Structures_Graph_Manipulator_AcyclicTest</a></li></ul> -
-<h2>Root class Structures_Graph_Manipulator_TopologicalSorter</h2>
+ +<h2>Root class Structures_Graph_Manipulator_TopologicalSorter</h2> <ul> <li><a href="Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html">Structures_Graph_Manipulator_TopologicalSorter</a></li></ul> -
-<h2>Root class Structures_Graph_Node</h2>
+ +<h2>Root class Structures_Graph_Node</h2> <ul> <li><a href="Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a></li></ul> -
- <p class="notes" id="credit">
- Documentation generated on Fri, 30 Jan 2004 16:37:28 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
- </p>
- </body>
-</html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title></title>
- <link rel="stylesheet" href="media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <a name="top"></a>
-<h2>Full index</h2>
-<h3>Package indexes</h3>
-<ul>
- <li><a href="elementindex_Structures_Graph.html">Structures_Graph</a></li>
-</ul>
-<br />
-<div class="index-letter-menu">
- <a class="index-letter" href="elementindex.html#a">a</a>
- <a class="index-letter" href="elementindex.html#c">c</a>
- <a class="index-letter" href="elementindex.html#g">g</a>
- <a class="index-letter" href="elementindex.html#i">i</a>
- <a class="index-letter" href="elementindex.html#m">m</a>
- <a class="index-letter" href="elementindex.html#n">n</a>
- <a class="index-letter" href="elementindex.html#o">o</a>
- <a class="index-letter" href="elementindex.html#r">r</a>
- <a class="index-letter" href="elementindex.html#s">s</a>
- <a class="index-letter" href="elementindex.html#t">t</a>
- <a class="index-letter" href="elementindex.html#u">u</a>
-</div>
-
- <a name="a"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">a</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">addNode</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodaddNode">Structures_Graph::addNode()</a> in Graph.php</div>
- <div class="index-item-description">Add a Node to the Graph</div>
- </dd>
- <dt class="field">
- <span class="include-title">AcyclicTest.php</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html">AcyclicTest.php</a> in AcyclicTest.php</div>
- </dd>
- </dl>
- <a name="c"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">c</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">connectsTo</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodconnectsTo">Structures_Graph_Node::connectsTo()</a> in Node.php</div>
- <div class="index-item-description">Test wether this node has an arc to the target node</div>
- </dd>
- <dt class="field">
- <span class="method-title">connectTo</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodconnectTo">Structures_Graph_Node::connectTo()</a> in Node.php</div>
- <div class="index-item-description">Connect this node to another one.</div>
- </dd>
- </dl>
- <a name="g"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">g</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">getData</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetData">Structures_Graph_Node::getData()</a> in Node.php</div>
- <div class="index-item-description">Node data getter.</div>
- </dd>
- <dt class="field">
- <span class="method-title">getGraph</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetGraph">Structures_Graph_Node::getGraph()</a> in Node.php</div>
- <div class="index-item-description">Node graph getter</div>
- </dd>
- <dt class="field">
- <span class="method-title">getMetadata</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetMetadata">Structures_Graph_Node::getMetadata()</a> in Node.php</div>
- <div class="index-item-description">Node metadata getter</div>
- </dd>
- <dt class="field">
- <span class="method-title">getNeighbours</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetNeighbours">Structures_Graph_Node::getNeighbours()</a> in Node.php</div>
- <div class="index-item-description">Return nodes connected to this one.</div>
- </dd>
- <dt class="field">
- <span class="method-title">getNodes</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodgetNodes">Structures_Graph::getNodes()</a> in Graph.php</div>
- <div class="index-item-description">Return the node set, in no particular order. For ordered node sets, use a Graph Manipulator insted.</div>
- </dd>
- <dt class="field">
- <span class="include-title">Graph.php</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_php.html">Graph.php</a> in Graph.php</div>
- </dd>
- </dl>
- <a name="i"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">i</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">inDegree</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodinDegree">Structures_Graph_Node::inDegree()</a> in Node.php</div>
- <div class="index-item-description">Calculate the in degree of the node.</div>
- </dd>
- <dt class="field">
- <span class="method-title">isAcyclic</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html#methodisAcyclic">Structures_Graph_Manipulator_AcyclicTest::isAcyclic()</a> in AcyclicTest.php</div>
- <div class="index-item-description">isAcyclic returns true if a graph contains no cycles, false otherwise.</div>
- </dd>
- <dt class="field">
- <span class="method-title">isDirected</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodisDirected">Structures_Graph::isDirected()</a> in Graph.php</div>
- <div class="index-item-description">Return true if a graph is directed</div>
- </dd>
- </dl>
- <a name="m"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">m</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">metadataKeyExists</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodmetadataKeyExists">Structures_Graph_Node::metadataKeyExists()</a> in Node.php</div>
- <div class="index-item-description">Test for existence of metadata under a given key.</div>
- </dd>
- </dl>
- <a name="n"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">n</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="include-title">Node.php</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_Node_php.html">Node.php</a> in Node.php</div>
- </dd>
- </dl>
- <a name="o"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">o</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">outDegree</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodoutDegree">Structures_Graph_Node::outDegree()</a> in Node.php</div>
- <div class="index-item-description">Calculate the out degree of the node.</div>
- </dd>
- </dl>
- <a name="r"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">r</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">removeNode</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodremoveNode">Structures_Graph::removeNode()</a> in Graph.php</div>
- <div class="index-item-description">Remove a Node from the Graph</div>
- </dd>
- </dl>
- <a name="s"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">s</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">setData</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodsetData">Structures_Graph_Node::setData()</a> in Node.php</div>
- <div class="index-item-description">Node data setter</div>
- </dd>
- <dt class="field">
- <span class="method-title">setGraph</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodsetGraph">Structures_Graph_Node::setGraph()</a> in Node.php</div>
- <div class="index-item-description">Node graph setter. This method should not be called directly. Use Graph::addNode instead.</div>
- </dd>
- <dt class="field">
- <span class="method-title">setMetadata</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodsetMetadata">Structures_Graph_Node::setMetadata()</a> in Node.php</div>
- <div class="index-item-description">Node metadata setter</div>
- </dd>
- <dt class="field">
- <span class="method-title">sort</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html#methodsort">Structures_Graph_Manipulator_TopologicalSorter::sort()</a> in TopologicalSorter.php</div>
- <div class="index-item-description">sort returns the graph's nodes, sorted by topological order.</div>
- </dd>
- <dt class="field">
- Structures_Graph
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html">Structures_Graph</a> in Graph.php</div>
- <div class="index-item-description">The Structures_Graph class represents a graph data structure.</div>
- </dd>
- <dt class="field">
- <span class="method-title">Structures_Graph</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodStructures_Graph">Structures_Graph::Structures_Graph()</a> in Graph.php</div>
- <div class="index-item-description">Constructor</div>
- </dd>
- <dt class="field">
- <span class="const-title">STRUCTURES_GRAPH_ERROR_GENERIC</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_php.html#defineSTRUCTURES_GRAPH_ERROR_GENERIC">STRUCTURES_GRAPH_ERROR_GENERIC</a> in Graph.php</div>
- </dd>
- <dt class="field">
- Structures_Graph_Manipulator_AcyclicTest
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html">Structures_Graph_Manipulator_AcyclicTest</a> in AcyclicTest.php</div>
- <div class="index-item-description">The Structures_Graph_Manipulator_AcyclicTest is a graph manipulator which tests whether a graph contains a cycle.</div>
- </dd>
- <dt class="field">
- Structures_Graph_Manipulator_TopologicalSorter
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html">Structures_Graph_Manipulator_TopologicalSorter</a> in TopologicalSorter.php</div>
- <div class="index-item-description">The Structures_Graph_Manipulator_TopologicalSorter is a manipulator which is able to return the set of nodes in a graph, sorted by topological order.</div>
- </dd>
- <dt class="field">
- <span class="method-title">Structures_Graph_Node</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodStructures_Graph_Node">Structures_Graph_Node::Structures_Graph_Node()</a> in Node.php</div>
- <div class="index-item-description">Constructor</div>
- </dd>
- <dt class="field">
- Structures_Graph_Node
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a> in Node.php</div>
- <div class="index-item-description">The Structures_Graph_Node class represents a Node that can be member of a graph node set.</div>
- </dd>
- </dl>
- <a name="t"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">t</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="include-title">TopologicalSorter.php</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_Manipulator_TopologicalSorter_php.html">TopologicalSorter.php</a> in TopologicalSorter.php</div>
- </dd>
- </dl>
- <a name="u"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">u</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">unsetMetadata</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodunsetMetadata">Structures_Graph_Node::unsetMetadata()</a> in Node.php</div>
- <div class="index-item-description">Delete metadata by key</div>
- </dd>
- </dl>
-
-<div class="index-letter-menu">
- <a class="index-letter" href="elementindex.html#a">a</a>
- <a class="index-letter" href="elementindex.html#c">c</a>
- <a class="index-letter" href="elementindex.html#g">g</a>
- <a class="index-letter" href="elementindex.html#i">i</a>
- <a class="index-letter" href="elementindex.html#m">m</a>
- <a class="index-letter" href="elementindex.html#n">n</a>
- <a class="index-letter" href="elementindex.html#o">o</a>
- <a class="index-letter" href="elementindex.html#r">r</a>
- <a class="index-letter" href="elementindex.html#s">s</a>
- <a class="index-letter" href="elementindex.html#t">t</a>
- <a class="index-letter" href="elementindex.html#u">u</a>
-</div> </body>
-</html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title></title>
- <link rel="stylesheet" href="media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <a name="top"></a>
-<h2>[Structures_Graph] element index</h2>
-<a href="elementindex.html">All elements</a>
-<br />
-<div class="index-letter-menu">
- <a class="index-letter" href="elementindex_Structures_Graph.html#a">a</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#c">c</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#g">g</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#i">i</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#m">m</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#n">n</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#o">o</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#r">r</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#s">s</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#t">t</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#u">u</a>
-</div>
-
- <a name="a"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">a</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">addNode</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodaddNode">Structures_Graph::addNode()</a> in Graph.php</div>
- <div class="index-item-description">Add a Node to the Graph</div>
- </dd>
- <dt class="field">
- <span class="include-title">AcyclicTest.php</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html">AcyclicTest.php</a> in AcyclicTest.php</div>
- </dd>
- </dl>
- <a name="c"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">c</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">connectsTo</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodconnectsTo">Structures_Graph_Node::connectsTo()</a> in Node.php</div>
- <div class="index-item-description">Test wether this node has an arc to the target node</div>
- </dd>
- <dt class="field">
- <span class="method-title">connectTo</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodconnectTo">Structures_Graph_Node::connectTo()</a> in Node.php</div>
- <div class="index-item-description">Connect this node to another one.</div>
- </dd>
- </dl>
- <a name="g"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">g</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">getData</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetData">Structures_Graph_Node::getData()</a> in Node.php</div>
- <div class="index-item-description">Node data getter.</div>
- </dd>
- <dt class="field">
- <span class="method-title">getGraph</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetGraph">Structures_Graph_Node::getGraph()</a> in Node.php</div>
- <div class="index-item-description">Node graph getter</div>
- </dd>
- <dt class="field">
- <span class="method-title">getMetadata</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetMetadata">Structures_Graph_Node::getMetadata()</a> in Node.php</div>
- <div class="index-item-description">Node metadata getter</div>
- </dd>
- <dt class="field">
- <span class="method-title">getNeighbours</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetNeighbours">Structures_Graph_Node::getNeighbours()</a> in Node.php</div>
- <div class="index-item-description">Return nodes connected to this one.</div>
- </dd>
- <dt class="field">
- <span class="method-title">getNodes</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodgetNodes">Structures_Graph::getNodes()</a> in Graph.php</div>
- <div class="index-item-description">Return the node set, in no particular order. For ordered node sets, use a Graph Manipulator insted.</div>
- </dd>
- <dt class="field">
- <span class="include-title">Graph.php</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_php.html">Graph.php</a> in Graph.php</div>
- </dd>
- </dl>
- <a name="i"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">i</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">inDegree</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodinDegree">Structures_Graph_Node::inDegree()</a> in Node.php</div>
- <div class="index-item-description">Calculate the in degree of the node.</div>
- </dd>
- <dt class="field">
- <span class="method-title">isAcyclic</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html#methodisAcyclic">Structures_Graph_Manipulator_AcyclicTest::isAcyclic()</a> in AcyclicTest.php</div>
- <div class="index-item-description">isAcyclic returns true if a graph contains no cycles, false otherwise.</div>
- </dd>
- <dt class="field">
- <span class="method-title">isDirected</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodisDirected">Structures_Graph::isDirected()</a> in Graph.php</div>
- <div class="index-item-description">Return true if a graph is directed</div>
- </dd>
- </dl>
- <a name="m"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">m</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">metadataKeyExists</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodmetadataKeyExists">Structures_Graph_Node::metadataKeyExists()</a> in Node.php</div>
- <div class="index-item-description">Test for existence of metadata under a given key.</div>
- </dd>
- </dl>
- <a name="n"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">n</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="include-title">Node.php</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_Node_php.html">Node.php</a> in Node.php</div>
- </dd>
- </dl>
- <a name="o"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">o</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">outDegree</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodoutDegree">Structures_Graph_Node::outDegree()</a> in Node.php</div>
- <div class="index-item-description">Calculate the out degree of the node.</div>
- </dd>
- </dl>
- <a name="r"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">r</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">removeNode</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodremoveNode">Structures_Graph::removeNode()</a> in Graph.php</div>
- <div class="index-item-description">Remove a Node from the Graph</div>
- </dd>
- </dl>
- <a name="s"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">s</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">setData</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodsetData">Structures_Graph_Node::setData()</a> in Node.php</div>
- <div class="index-item-description">Node data setter</div>
- </dd>
- <dt class="field">
- <span class="method-title">setGraph</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodsetGraph">Structures_Graph_Node::setGraph()</a> in Node.php</div>
- <div class="index-item-description">Node graph setter. This method should not be called directly. Use Graph::addNode instead.</div>
- </dd>
- <dt class="field">
- <span class="method-title">setMetadata</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodsetMetadata">Structures_Graph_Node::setMetadata()</a> in Node.php</div>
- <div class="index-item-description">Node metadata setter</div>
- </dd>
- <dt class="field">
- <span class="method-title">sort</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html#methodsort">Structures_Graph_Manipulator_TopologicalSorter::sort()</a> in TopologicalSorter.php</div>
- <div class="index-item-description">sort returns the graph's nodes, sorted by topological order.</div>
- </dd>
- <dt class="field">
- Structures_Graph
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html">Structures_Graph</a> in Graph.php</div>
- <div class="index-item-description">The Structures_Graph class represents a graph data structure.</div>
- </dd>
- <dt class="field">
- <span class="method-title">Structures_Graph</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodStructures_Graph">Structures_Graph::Structures_Graph()</a> in Graph.php</div>
- <div class="index-item-description">Constructor</div>
- </dd>
- <dt class="field">
- <span class="const-title">STRUCTURES_GRAPH_ERROR_GENERIC</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_php.html#defineSTRUCTURES_GRAPH_ERROR_GENERIC">STRUCTURES_GRAPH_ERROR_GENERIC</a> in Graph.php</div>
- </dd>
- <dt class="field">
- Structures_Graph_Manipulator_AcyclicTest
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html">Structures_Graph_Manipulator_AcyclicTest</a> in AcyclicTest.php</div>
- <div class="index-item-description">The Structures_Graph_Manipulator_AcyclicTest is a graph manipulator which tests whether a graph contains a cycle.</div>
- </dd>
- <dt class="field">
- Structures_Graph_Manipulator_TopologicalSorter
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html">Structures_Graph_Manipulator_TopologicalSorter</a> in TopologicalSorter.php</div>
- <div class="index-item-description">The Structures_Graph_Manipulator_TopologicalSorter is a manipulator which is able to return the set of nodes in a graph, sorted by topological order.</div>
- </dd>
- <dt class="field">
- <span class="method-title">Structures_Graph_Node</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodStructures_Graph_Node">Structures_Graph_Node::Structures_Graph_Node()</a> in Node.php</div>
- <div class="index-item-description">Constructor</div>
- </dd>
- <dt class="field">
- Structures_Graph_Node
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a> in Node.php</div>
- <div class="index-item-description">The Structures_Graph_Node class represents a Node that can be member of a graph node set.</div>
- </dd>
- </dl>
- <a name="t"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">t</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="include-title">TopologicalSorter.php</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_Manipulator_TopologicalSorter_php.html">TopologicalSorter.php</a> in TopologicalSorter.php</div>
- </dd>
- </dl>
- <a name="u"></a>
- <div class="index-letter-section">
- <div style="float: left" class="index-letter-title">u</div>
- <div style="float: right"><a href="#top">top</a></div>
- <div style="clear: both"></div>
- </div>
- <dl>
- <dt class="field">
- <span class="method-title">unsetMetadata</span>
- </dt>
- <dd class="index-item-body">
- <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodunsetMetadata">Structures_Graph_Node::unsetMetadata()</a> in Node.php</div>
- <div class="index-item-description">Delete metadata by key</div>
- </dd>
- </dl>
-
-<div class="index-letter-menu">
- <a class="index-letter" href="elementindex_Structures_Graph.html#a">a</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#c">c</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#g">g</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#i">i</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#m">m</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#n">n</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#o">o</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#r">r</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#s">s</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#t">t</a>
- <a class="index-letter" href="elementindex_Structures_Graph.html#u">u</a>
-</div> </body>
-</html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title>phpDocumentor Parser Errors and Warnings</title>
- <link rel="stylesheet" href="media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <a href="#Post-parsing">Post-parsing</a><br>
- <p class="notes" id="credit">
- Documentation generated on Fri, 30 Jan 2004 16:37:29 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
- </p>
- </body>
-</html> -<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <!-- Generated by phpDocumentor on Fri, 30 Jan 2004 16:37:28 +0000 -->
- <title>Structures_Graph Documentation</title>
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
-</head>
-
-<FRAMESET rows='100,*'>
- <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999">
- <FRAMESET cols='25%,*'>
- <FRAME src='li_Structures_Graph.html' name='left_bottom' frameborder="1" bordercolor="#999999">
- <FRAME src='Structures_Graph/tutorial_Structures_Graph.pkg.html' name='right' frameborder="1" bordercolor="#999999">
- </FRAMESET>
- <NOFRAMES>
- <H2>Frame Alert</H2>
- <P>This document is designed to be viewed using the frames feature.
- If you see this message, you are using a non-frame-capable web client.</P>
- </NOFRAMES>
-</FRAMESET>
-</HTML> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title></title>
- <link rel="stylesheet" href="media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <div class="package-title">Structures_Graph</div>
-<div class="package-details">
-
- <dl class="tree">
-
- <dt class="folder-title">Description</dt>
- <dd>
- <a href='classtrees_Structures_Graph.html' target='right'>Class trees</a><br />
- <a href='elementindex_Structures_Graph.html' target='right'>Index of elements</a><br />
- <a href="todolist.html" target="right">Todo List</a><br />
- </dd>
-
-
-
- <dt class="folder-title">Tutorials/Manuals</dt>
- <dd>
- <dl class="tree">
- <dt class="folder-title">Package-level</dt>
- <dd>
- <div><a href="Structures_Graph/tutorial_Structures_Graph.pkg.html" target="right">Structures_Graph Tutorial</a></div>
-
- </dd>
- </dl>
-
-
- </dd>
- <dt class="folder-title">Classes</dt>
- <dd><a href='Structures_Graph/Structures_Graph.html' target='right'>Structures_Graph</a></dd>
- <dd><a href='Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html' target='right'>Structures_Graph_Manipulator_AcyclicTest</a></dd>
- <dd><a href='Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html' target='right'>Structures_Graph_Manipulator_TopologicalSorter</a></dd>
- <dd><a href='Structures_Graph/Structures_Graph_Node.html' target='right'>Structures_Graph_Node</a></dd>
- <dt class="folder-title">Files</dt>
- <dd><a href='Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html' target='right'>AcyclicTest.php</a></dd>
- <dd><a href='Structures_Graph/_Structures_Graph_php.html' target='right'>Graph.php</a></dd>
- <dd><a href='Structures_Graph/_Structures_Graph_Node_php.html' target='right'>Node.php</a></dd>
- <dd><a href='Structures_Graph/_Structures_Graph_Manipulator_TopologicalSorter_php.html' target='right'>TopologicalSorter.php</a></dd>
-
-
- </dl>
-</div>
-<p class="notes"><a href="http://www.phpdoc.org" target="_blank">phpDocumentor v <span class="field">1.2.3</span></a></p>
-</BODY>
-</HTML> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title></title>
- <link rel="stylesheet" href="media/stylesheet.css" />
- <link rel="stylesheet" href="media/banner.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <div class="banner">
- <div class="banner-title">Structures_Graph</div>
- <div class="banner-menu">
- <table cellpadding="0" cellspacing="0" style="width: 100%">
- <tr>
- <td>
- </td>
- <td style="width: 2em"> </td>
- <td style="text-align: right">
- </td>
- </tr>
- </table>
- </div>
- </div>
- </body>
- </html> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <!-- template designed by Marco Von Ballmoos -->
- <title>Todo List</title>
- <link rel="stylesheet" href="media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
- </head>
- <body>
- <div align="center"><h1>Todo List</h1></div>
-<h2>Structures_Graph</h2>
-<h3><a href="Structures_Graph/Structures_Graph.html#methodremoveNode">Structures_Graph::removeNode()</a></h3>
-<ul>
- <li>This is unimplemented</li>
-</ul>
- <p class="notes" id="credit">
- Documentation generated on Fri, 30 Jan 2004 16:37:29 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
- </p>
- </body>
-</html> + + <p class="notes" id="credit"> + Documentation generated on Fri, 30 Jan 2004 16:37:28 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a> + </p> + </body> +</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <a name="top"></a> +<h2>Full index</h2> +<h3>Package indexes</h3> +<ul> + <li><a href="elementindex_Structures_Graph.html">Structures_Graph</a></li> +</ul> +<br /> +<div class="index-letter-menu"> + <a class="index-letter" href="elementindex.html#a">a</a> + <a class="index-letter" href="elementindex.html#c">c</a> + <a class="index-letter" href="elementindex.html#g">g</a> + <a class="index-letter" href="elementindex.html#i">i</a> + <a class="index-letter" href="elementindex.html#m">m</a> + <a class="index-letter" href="elementindex.html#n">n</a> + <a class="index-letter" href="elementindex.html#o">o</a> + <a class="index-letter" href="elementindex.html#r">r</a> + <a class="index-letter" href="elementindex.html#s">s</a> + <a class="index-letter" href="elementindex.html#t">t</a> + <a class="index-letter" href="elementindex.html#u">u</a> +</div> + + <a name="a"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">a</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">addNode</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodaddNode">Structures_Graph::addNode()</a> in Graph.php</div> + <div class="index-item-description">Add a Node to the Graph</div> + </dd> + <dt class="field"> + <span class="include-title">AcyclicTest.php</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html">AcyclicTest.php</a> in AcyclicTest.php</div> + </dd> + </dl> + <a name="c"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">c</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">connectsTo</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodconnectsTo">Structures_Graph_Node::connectsTo()</a> in Node.php</div> + <div class="index-item-description">Test wether this node has an arc to the target node</div> + </dd> + <dt class="field"> + <span class="method-title">connectTo</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodconnectTo">Structures_Graph_Node::connectTo()</a> in Node.php</div> + <div class="index-item-description">Connect this node to another one.</div> + </dd> + </dl> + <a name="g"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">g</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">getData</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetData">Structures_Graph_Node::getData()</a> in Node.php</div> + <div class="index-item-description">Node data getter.</div> + </dd> + <dt class="field"> + <span class="method-title">getGraph</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetGraph">Structures_Graph_Node::getGraph()</a> in Node.php</div> + <div class="index-item-description">Node graph getter</div> + </dd> + <dt class="field"> + <span class="method-title">getMetadata</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetMetadata">Structures_Graph_Node::getMetadata()</a> in Node.php</div> + <div class="index-item-description">Node metadata getter</div> + </dd> + <dt class="field"> + <span class="method-title">getNeighbours</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetNeighbours">Structures_Graph_Node::getNeighbours()</a> in Node.php</div> + <div class="index-item-description">Return nodes connected to this one.</div> + </dd> + <dt class="field"> + <span class="method-title">getNodes</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodgetNodes">Structures_Graph::getNodes()</a> in Graph.php</div> + <div class="index-item-description">Return the node set, in no particular order. For ordered node sets, use a Graph Manipulator insted.</div> + </dd> + <dt class="field"> + <span class="include-title">Graph.php</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_php.html">Graph.php</a> in Graph.php</div> + </dd> + </dl> + <a name="i"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">i</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">inDegree</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodinDegree">Structures_Graph_Node::inDegree()</a> in Node.php</div> + <div class="index-item-description">Calculate the in degree of the node.</div> + </dd> + <dt class="field"> + <span class="method-title">isAcyclic</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html#methodisAcyclic">Structures_Graph_Manipulator_AcyclicTest::isAcyclic()</a> in AcyclicTest.php</div> + <div class="index-item-description">isAcyclic returns true if a graph contains no cycles, false otherwise.</div> + </dd> + <dt class="field"> + <span class="method-title">isDirected</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodisDirected">Structures_Graph::isDirected()</a> in Graph.php</div> + <div class="index-item-description">Return true if a graph is directed</div> + </dd> + </dl> + <a name="m"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">m</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">metadataKeyExists</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodmetadataKeyExists">Structures_Graph_Node::metadataKeyExists()</a> in Node.php</div> + <div class="index-item-description">Test for existence of metadata under a given key.</div> + </dd> + </dl> + <a name="n"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">n</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="include-title">Node.php</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_Node_php.html">Node.php</a> in Node.php</div> + </dd> + </dl> + <a name="o"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">o</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">outDegree</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodoutDegree">Structures_Graph_Node::outDegree()</a> in Node.php</div> + <div class="index-item-description">Calculate the out degree of the node.</div> + </dd> + </dl> + <a name="r"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">r</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">removeNode</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodremoveNode">Structures_Graph::removeNode()</a> in Graph.php</div> + <div class="index-item-description">Remove a Node from the Graph</div> + </dd> + </dl> + <a name="s"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">s</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">setData</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodsetData">Structures_Graph_Node::setData()</a> in Node.php</div> + <div class="index-item-description">Node data setter</div> + </dd> + <dt class="field"> + <span class="method-title">setGraph</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodsetGraph">Structures_Graph_Node::setGraph()</a> in Node.php</div> + <div class="index-item-description">Node graph setter. This method should not be called directly. Use Graph::addNode instead.</div> + </dd> + <dt class="field"> + <span class="method-title">setMetadata</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodsetMetadata">Structures_Graph_Node::setMetadata()</a> in Node.php</div> + <div class="index-item-description">Node metadata setter</div> + </dd> + <dt class="field"> + <span class="method-title">sort</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html#methodsort">Structures_Graph_Manipulator_TopologicalSorter::sort()</a> in TopologicalSorter.php</div> + <div class="index-item-description">sort returns the graph's nodes, sorted by topological order.</div> + </dd> + <dt class="field"> + Structures_Graph + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html">Structures_Graph</a> in Graph.php</div> + <div class="index-item-description">The Structures_Graph class represents a graph data structure.</div> + </dd> + <dt class="field"> + <span class="method-title">Structures_Graph</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodStructures_Graph">Structures_Graph::Structures_Graph()</a> in Graph.php</div> + <div class="index-item-description">Constructor</div> + </dd> + <dt class="field"> + <span class="const-title">STRUCTURES_GRAPH_ERROR_GENERIC</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_php.html#defineSTRUCTURES_GRAPH_ERROR_GENERIC">STRUCTURES_GRAPH_ERROR_GENERIC</a> in Graph.php</div> + </dd> + <dt class="field"> + Structures_Graph_Manipulator_AcyclicTest + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html">Structures_Graph_Manipulator_AcyclicTest</a> in AcyclicTest.php</div> + <div class="index-item-description">The Structures_Graph_Manipulator_AcyclicTest is a graph manipulator which tests whether a graph contains a cycle.</div> + </dd> + <dt class="field"> + Structures_Graph_Manipulator_TopologicalSorter + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html">Structures_Graph_Manipulator_TopologicalSorter</a> in TopologicalSorter.php</div> + <div class="index-item-description">The Structures_Graph_Manipulator_TopologicalSorter is a manipulator which is able to return the set of nodes in a graph, sorted by topological order.</div> + </dd> + <dt class="field"> + <span class="method-title">Structures_Graph_Node</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodStructures_Graph_Node">Structures_Graph_Node::Structures_Graph_Node()</a> in Node.php</div> + <div class="index-item-description">Constructor</div> + </dd> + <dt class="field"> + Structures_Graph_Node + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a> in Node.php</div> + <div class="index-item-description">The Structures_Graph_Node class represents a Node that can be member of a graph node set.</div> + </dd> + </dl> + <a name="t"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">t</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="include-title">TopologicalSorter.php</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_Manipulator_TopologicalSorter_php.html">TopologicalSorter.php</a> in TopologicalSorter.php</div> + </dd> + </dl> + <a name="u"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">u</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">unsetMetadata</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodunsetMetadata">Structures_Graph_Node::unsetMetadata()</a> in Node.php</div> + <div class="index-item-description">Delete metadata by key</div> + </dd> + </dl> + +<div class="index-letter-menu"> + <a class="index-letter" href="elementindex.html#a">a</a> + <a class="index-letter" href="elementindex.html#c">c</a> + <a class="index-letter" href="elementindex.html#g">g</a> + <a class="index-letter" href="elementindex.html#i">i</a> + <a class="index-letter" href="elementindex.html#m">m</a> + <a class="index-letter" href="elementindex.html#n">n</a> + <a class="index-letter" href="elementindex.html#o">o</a> + <a class="index-letter" href="elementindex.html#r">r</a> + <a class="index-letter" href="elementindex.html#s">s</a> + <a class="index-letter" href="elementindex.html#t">t</a> + <a class="index-letter" href="elementindex.html#u">u</a> +</div> </body> +</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <a name="top"></a> +<h2>[Structures_Graph] element index</h2> +<a href="elementindex.html">All elements</a> +<br /> +<div class="index-letter-menu"> + <a class="index-letter" href="elementindex_Structures_Graph.html#a">a</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#c">c</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#g">g</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#i">i</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#m">m</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#n">n</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#o">o</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#r">r</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#s">s</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#t">t</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#u">u</a> +</div> + + <a name="a"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">a</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">addNode</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodaddNode">Structures_Graph::addNode()</a> in Graph.php</div> + <div class="index-item-description">Add a Node to the Graph</div> + </dd> + <dt class="field"> + <span class="include-title">AcyclicTest.php</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html">AcyclicTest.php</a> in AcyclicTest.php</div> + </dd> + </dl> + <a name="c"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">c</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">connectsTo</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodconnectsTo">Structures_Graph_Node::connectsTo()</a> in Node.php</div> + <div class="index-item-description">Test wether this node has an arc to the target node</div> + </dd> + <dt class="field"> + <span class="method-title">connectTo</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodconnectTo">Structures_Graph_Node::connectTo()</a> in Node.php</div> + <div class="index-item-description">Connect this node to another one.</div> + </dd> + </dl> + <a name="g"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">g</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">getData</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetData">Structures_Graph_Node::getData()</a> in Node.php</div> + <div class="index-item-description">Node data getter.</div> + </dd> + <dt class="field"> + <span class="method-title">getGraph</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetGraph">Structures_Graph_Node::getGraph()</a> in Node.php</div> + <div class="index-item-description">Node graph getter</div> + </dd> + <dt class="field"> + <span class="method-title">getMetadata</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetMetadata">Structures_Graph_Node::getMetadata()</a> in Node.php</div> + <div class="index-item-description">Node metadata getter</div> + </dd> + <dt class="field"> + <span class="method-title">getNeighbours</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodgetNeighbours">Structures_Graph_Node::getNeighbours()</a> in Node.php</div> + <div class="index-item-description">Return nodes connected to this one.</div> + </dd> + <dt class="field"> + <span class="method-title">getNodes</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodgetNodes">Structures_Graph::getNodes()</a> in Graph.php</div> + <div class="index-item-description">Return the node set, in no particular order. For ordered node sets, use a Graph Manipulator insted.</div> + </dd> + <dt class="field"> + <span class="include-title">Graph.php</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_php.html">Graph.php</a> in Graph.php</div> + </dd> + </dl> + <a name="i"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">i</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">inDegree</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodinDegree">Structures_Graph_Node::inDegree()</a> in Node.php</div> + <div class="index-item-description">Calculate the in degree of the node.</div> + </dd> + <dt class="field"> + <span class="method-title">isAcyclic</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html#methodisAcyclic">Structures_Graph_Manipulator_AcyclicTest::isAcyclic()</a> in AcyclicTest.php</div> + <div class="index-item-description">isAcyclic returns true if a graph contains no cycles, false otherwise.</div> + </dd> + <dt class="field"> + <span class="method-title">isDirected</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodisDirected">Structures_Graph::isDirected()</a> in Graph.php</div> + <div class="index-item-description">Return true if a graph is directed</div> + </dd> + </dl> + <a name="m"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">m</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">metadataKeyExists</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodmetadataKeyExists">Structures_Graph_Node::metadataKeyExists()</a> in Node.php</div> + <div class="index-item-description">Test for existence of metadata under a given key.</div> + </dd> + </dl> + <a name="n"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">n</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="include-title">Node.php</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_Node_php.html">Node.php</a> in Node.php</div> + </dd> + </dl> + <a name="o"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">o</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">outDegree</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodoutDegree">Structures_Graph_Node::outDegree()</a> in Node.php</div> + <div class="index-item-description">Calculate the out degree of the node.</div> + </dd> + </dl> + <a name="r"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">r</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">removeNode</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodremoveNode">Structures_Graph::removeNode()</a> in Graph.php</div> + <div class="index-item-description">Remove a Node from the Graph</div> + </dd> + </dl> + <a name="s"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">s</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">setData</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodsetData">Structures_Graph_Node::setData()</a> in Node.php</div> + <div class="index-item-description">Node data setter</div> + </dd> + <dt class="field"> + <span class="method-title">setGraph</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodsetGraph">Structures_Graph_Node::setGraph()</a> in Node.php</div> + <div class="index-item-description">Node graph setter. This method should not be called directly. Use Graph::addNode instead.</div> + </dd> + <dt class="field"> + <span class="method-title">setMetadata</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodsetMetadata">Structures_Graph_Node::setMetadata()</a> in Node.php</div> + <div class="index-item-description">Node metadata setter</div> + </dd> + <dt class="field"> + <span class="method-title">sort</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html#methodsort">Structures_Graph_Manipulator_TopologicalSorter::sort()</a> in TopologicalSorter.php</div> + <div class="index-item-description">sort returns the graph's nodes, sorted by topological order.</div> + </dd> + <dt class="field"> + Structures_Graph + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html">Structures_Graph</a> in Graph.php</div> + <div class="index-item-description">The Structures_Graph class represents a graph data structure.</div> + </dd> + <dt class="field"> + <span class="method-title">Structures_Graph</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph.html#methodStructures_Graph">Structures_Graph::Structures_Graph()</a> in Graph.php</div> + <div class="index-item-description">Constructor</div> + </dd> + <dt class="field"> + <span class="const-title">STRUCTURES_GRAPH_ERROR_GENERIC</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_php.html#defineSTRUCTURES_GRAPH_ERROR_GENERIC">STRUCTURES_GRAPH_ERROR_GENERIC</a> in Graph.php</div> + </dd> + <dt class="field"> + Structures_Graph_Manipulator_AcyclicTest + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html">Structures_Graph_Manipulator_AcyclicTest</a> in AcyclicTest.php</div> + <div class="index-item-description">The Structures_Graph_Manipulator_AcyclicTest is a graph manipulator which tests whether a graph contains a cycle.</div> + </dd> + <dt class="field"> + Structures_Graph_Manipulator_TopologicalSorter + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html">Structures_Graph_Manipulator_TopologicalSorter</a> in TopologicalSorter.php</div> + <div class="index-item-description">The Structures_Graph_Manipulator_TopologicalSorter is a manipulator which is able to return the set of nodes in a graph, sorted by topological order.</div> + </dd> + <dt class="field"> + <span class="method-title">Structures_Graph_Node</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodStructures_Graph_Node">Structures_Graph_Node::Structures_Graph_Node()</a> in Node.php</div> + <div class="index-item-description">Constructor</div> + </dd> + <dt class="field"> + Structures_Graph_Node + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html">Structures_Graph_Node</a> in Node.php</div> + <div class="index-item-description">The Structures_Graph_Node class represents a Node that can be member of a graph node set.</div> + </dd> + </dl> + <a name="t"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">t</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="include-title">TopologicalSorter.php</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/_Structures_Graph_Manipulator_TopologicalSorter_php.html">TopologicalSorter.php</a> in TopologicalSorter.php</div> + </dd> + </dl> + <a name="u"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">u</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + <dt class="field"> + <span class="method-title">unsetMetadata</span> + </dt> + <dd class="index-item-body"> + <div class="index-item-details"><a href="Structures_Graph/Structures_Graph_Node.html#methodunsetMetadata">Structures_Graph_Node::unsetMetadata()</a> in Node.php</div> + <div class="index-item-description">Delete metadata by key</div> + </dd> + </dl> + +<div class="index-letter-menu"> + <a class="index-letter" href="elementindex_Structures_Graph.html#a">a</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#c">c</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#g">g</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#i">i</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#m">m</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#n">n</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#o">o</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#r">r</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#s">s</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#t">t</a> + <a class="index-letter" href="elementindex_Structures_Graph.html#u">u</a> +</div> </body> +</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>phpDocumentor Parser Errors and Warnings</title> + <link rel="stylesheet" href="media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <a href="#Post-parsing">Post-parsing</a><br> + <p class="notes" id="credit"> + Documentation generated on Fri, 30 Jan 2004 16:37:29 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a> + </p> + </body> +</html> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on Fri, 30 Jan 2004 16:37:28 +0000 --> + <title>Structures_Graph Documentation</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET rows='100,*'> + <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> + <FRAMESET cols='25%,*'> + <FRAME src='li_Structures_Graph.html' name='left_bottom' frameborder="1" bordercolor="#999999"> + <FRAME src='Structures_Graph/tutorial_Structures_Graph.pkg.html' name='right' frameborder="1" bordercolor="#999999"> + </FRAMESET> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="package-title">Structures_Graph</div> +<div class="package-details"> + + <dl class="tree"> + + <dt class="folder-title">Description</dt> + <dd> + <a href='classtrees_Structures_Graph.html' target='right'>Class trees</a><br /> + <a href='elementindex_Structures_Graph.html' target='right'>Index of elements</a><br /> + <a href="todolist.html" target="right">Todo List</a><br /> + </dd> + + + + <dt class="folder-title">Tutorials/Manuals</dt> + <dd> + <dl class="tree"> + <dt class="folder-title">Package-level</dt> + <dd> + <div><a href="Structures_Graph/tutorial_Structures_Graph.pkg.html" target="right">Structures_Graph Tutorial</a></div> + + </dd> + </dl> + + + </dd> + <dt class="folder-title">Classes</dt> + <dd><a href='Structures_Graph/Structures_Graph.html' target='right'>Structures_Graph</a></dd> + <dd><a href='Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html' target='right'>Structures_Graph_Manipulator_AcyclicTest</a></dd> + <dd><a href='Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html' target='right'>Structures_Graph_Manipulator_TopologicalSorter</a></dd> + <dd><a href='Structures_Graph/Structures_Graph_Node.html' target='right'>Structures_Graph_Node</a></dd> + <dt class="folder-title">Files</dt> + <dd><a href='Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html' target='right'>AcyclicTest.php</a></dd> + <dd><a href='Structures_Graph/_Structures_Graph_php.html' target='right'>Graph.php</a></dd> + <dd><a href='Structures_Graph/_Structures_Graph_Node_php.html' target='right'>Node.php</a></dd> + <dd><a href='Structures_Graph/_Structures_Graph_Manipulator_TopologicalSorter_php.html' target='right'>TopologicalSorter.php</a></dd> + + + </dl> +</div> +<p class="notes"><a href="http://www.phpdoc.org" target="_blank">phpDocumentor v <span class="field">1.2.3</span></a></p> +</BODY> +</HTML> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title></title> + <link rel="stylesheet" href="media/stylesheet.css" /> + <link rel="stylesheet" href="media/banner.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="banner"> + <div class="banner-title">Structures_Graph</div> + <div class="banner-menu"> + <table cellpadding="0" cellspacing="0" style="width: 100%"> + <tr> + <td> + </td> + <td style="width: 2em"> </td> + <td style="text-align: right"> + </td> + </tr> + </table> + </div> + </div> + </body> + </html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>Todo List</title> + <link rel="stylesheet" href="media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div align="center"><h1>Todo List</h1></div> +<h2>Structures_Graph</h2> +<h3><a href="Structures_Graph/Structures_Graph.html#methodremoveNode">Structures_Graph::removeNode()</a></h3> +<ul> + <li>This is unimplemented</li> +</ul> + <p class="notes" id="credit"> + Documentation generated on Fri, 30 Jan 2004 16:37:29 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a> + </p> + </body> +</html> <refnamediv> <refname><classname>Structures_Graph</classname> Tutorial</refname> <refpurpose>A first tour of graph datastructure manipulation</refpurpose> @@ -92585,7 +92590,7 @@ for ($i=0;$i<sizeof($arcs);$i++) { </para> </refsect1> </refentry> - + (cd ..; tar czf docs/arch.tgz "{arch}") rm -Rf "../{arch}" rm -Rf ./html @@ -92593,7 +92598,7 @@ mkdir -p ./html phpdoc --directory ../Structures,./tutorials --target ./html --title "Structures_Graph Documentation" --output "HTML:frames" --defaultpackagename structures_graph --defaultcategoryname structures --pear (cd ..; tar --absolute-names -xzf docs/arch.tgz) #rm arch.tgz - + /* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */ // +-----------------------------------------------------------------------------+ // | Copyright (c) 2003 Sérgio Gonçalves Carvalho | @@ -92729,7 +92734,7 @@ class Structures_Graph_Manipulator_AcyclicTest { } /* }}} */ ?> - + /* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */ // +-----------------------------------------------------------------------------+ // | Copyright (c) 2003 Sérgio Gonçalves Carvalho | @@ -92882,7 +92887,7 @@ class Structures_Graph_Manipulator_TopologicalSorter { } /* }}} */ ?> - + /* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */ // +-----------------------------------------------------------------------------+ // | Copyright (c) 2003 Sérgio Gonçalves Carvalho | @@ -93116,7 +93121,7 @@ class Structures_Graph_Node { * * If the graph is not directed, the reverse arc, connecting $destinationNode to $this is also created. * - * @param Structures_Graph Node to connect to + * @param Structures_Graph_Node Node to connect to * @access public */ function connectTo(&$destinationNode) { @@ -93220,7 +93225,7 @@ class Structures_Graph_Node { /* }}} */ } ?> - + /* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */ // +-----------------------------------------------------------------------------+ // | Copyright (c) 2003 Sérgio Gonçalves Carvalho | @@ -93374,7 +93379,7 @@ class Structures_Graph { /* }}} */ } ?> - + /* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */ // +-----------------------------------------------------------------------------+ // | Copyright (c) 2003 Sérgio Gonçalves Carvalho | @@ -93401,26 +93406,15 @@ class Structures_Graph { // require_once 'Structures/Graph.php'; -require_once 'PHPUnit.php'; +require_once 'PHPUnit/Framework.php'; /** * @access private */ -class BasicGraph extends PHPUnit_TestCase +class BasicGraph extends PHPUnit_Framework_TestCase { var $_graph = null; - // constructor of the test suite - function StringTest($name) { - $this->PHPUnit_TestCase($name); - } - - function setUp() { - } - - function tearDown() { - } - function test_create_graph() { $this->_graph = new Structures_Graph(); $this->assertTrue(is_a($this->_graph, 'Structures_Graph')); @@ -93556,62 +93550,128 @@ class BasicGraph extends PHPUnit_TestCase } } ?> - -<?php -/* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */ -// +-----------------------------------------------------------------------------+ -// | Copyright (c) 2003 Sérgio Gonçalves Carvalho | -// +-----------------------------------------------------------------------------+ -// | This file is part of Structures_Graph. | -// | | -// | Structures_Graph is free software; you can redistribute it and/or modify | -// | it under the terms of the GNU Lesser General Public License as published by | -// | the Free Software Foundation; either version 2.1 of the License, or | -// | (at your option) any later version. | -// | | -// | Structures_Graph is distributed in the hope that it will be useful, | -// | but WITHOUT ANY WARRANTY; without even the implied warranty of | -// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | -// | GNU Lesser General Public License for more details. | -// | | -// | You should have received a copy of the GNU Lesser General Public License | -// | along with Structures_Graph; if not, write to the Free Software | -// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | -// | 02111-1307 USA | -// +-----------------------------------------------------------------------------+ -// | Author: Sérgio Carvalho <sergio.carvalho@portugalmail.com> | -// +-----------------------------------------------------------------------------+ -// + -// Place development Structures_Graph ahead in the include_path -ini_set('include_path', realpath(dirname(__FILE__) . "/..") . ":.:" . ini_get('include_path')); +/** + * Master Unit Test Suite file for Structures_Graph + * + * This top-level test suite file organizes + * all class test suite files, + * so that the full suite can be run + * by PhpUnit or via "pear run-tests -u". + * + * PHP version 5 + * + * @category XML + * @package XML_Util + * @subpackage UnitTesting + * @author Chuck Burgess <ashnazg@php.net> + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @version CVS: $Id$ + * @link http://pear.php.net/package/XML_Util + * @since 1.2.0a1 + */ -require_once 'testCase/BasicGraph.php'; -require_once 'PHPUnit.php'; -$suite = new PHPUnit_TestSuite(); -$suite->addTest(new PHPUnit_TestSuite('BasicGraph')); -$result = PHPUnit::run($suite); +/** + * Check PHP version... PhpUnit v3+ requires at least PHP v5.1.4 + */ +if (version_compare(PHP_VERSION, "5.1.4") < 0) { + // Cannnot run test suites + echo 'Cannot run test suite via PhpUnit... requires at least PHP v5.1.4.' . PHP_EOL; + echo 'Use "pear run-tests -p xml_util" to run the PHPT tests directly.' . PHP_EOL; + exit(1); +} -echo $result->toString(); -?> - -while (<>) { - if (!/FILESGOHERE/) { - print $_; - } else { - open FILELIST,'find Structures -type f | grep -v .arch-ids |'; - while (<FILELIST>) { - $md5sum = `md5sum $_`; - chomp($md5sum); - $md5sum = substr $md5sum, 0, 32; -# $_ =~ s/\//\\\//g; - chomp($_); - print " <file role=\"php\" md5sum=\"$md5sum\" name=\"$_\" />\n"; - } + +/** + * Derive the "main" method name + * @internal PhpUnit would have to rename PHPUnit_MAIN_METHOD to PHPUNIT_MAIN_METHOD + * to make this usage meet the PEAR CS... we cannot rename it here. + */ +if (!defined('PHPUnit_MAIN_METHOD')) { + define('PHPUnit_MAIN_METHOD', 'Structures_Graph_AllTests::main'); +} + + +/* + * Files needed by PhpUnit + */ +require_once 'PHPUnit/Framework.php'; +require_once 'PHPUnit/TextUI/TestRunner.php'; +require_once 'PHPUnit/Extensions/PhptTestSuite.php'; + +/* + * You must add each additional class-level test suite file here + */ +require_once dirname(__FILE__).'/testCase/BasicGraph.php'; + + +/** + * Master Unit Test Suite class for Structures_Graph + * + * This top-level test suite class organizes + * all class test suite files, + * so that the full suite can be run + * by PhpUnit or via "pear run-tests -up Structures_Graph". + * + * @category Structures + * @package Structures_Graph + * @subpackage UnitTesting + * @author Chuck Burgess <ashnazg@php.net> + * @license http://www.opensource.org/licenses/bsd-license.php New BSD License + * @version Release: @package_version@ + * @link http://pear.php.net/package/XML_Util + * @since 1.2.0a1 + */ +class Structures_Graph_AllTests +{ + + /** + * Launches the TextUI test runner + * + * @return void + * @uses PHPUnit_TextUI_TestRunner + */ + public static function main() + { + PHPUnit_TextUI_TestRunner::run(self::suite()); } + + + /** + * Adds all class test suites into the master suite + * + * @return PHPUnit_Framework_TestSuite a master test suite + * containing all class test suites + * @uses PHPUnit_Framework_TestSuite + */ + public static function suite() + { + $suite = new PHPUnit_Framework_TestSuite( + 'Structures_Graph Full Suite of Unit Tests'); + + /* + * You must add each additional class-level test suite name here + */ + $suite->addTestSuite('BasicGraph'); + + return $suite; + } +} + +/** + * Call the main method if this file is executed directly + * @internal PhpUnit would have to rename PHPUnit_MAIN_METHOD to PHPUNIT_MAIN_METHOD + * to make this usage meet the PEAR CS... we cannot rename it here. + */ +if (PHPUnit_MAIN_METHOD == 'Structures_Graph_AllTests::main') { + Structures_Graph_AllTests::main(); } - + +/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ +?> + Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. @@ -94115,124 +94175,7 @@ necessary. Here is a sample; alter the names: That's all there is to it! - -VERSION=`tla tree-version 2>&1 | sed "s/^.*\([0-9][0-9]*\.[0-9][0-9]*\)$/\1/g"` -TARGET_DIR=BUILD/ -TARGET_DIRS=`find Structures -type d | grep -v .arch-ids` -mkdir -p $TARGET_DIR -./genpackage.xml.pl > BUILD/package.xml << EOF -<?xml version="1.0" encoding="ISO-8859-1" ?> -<package version="1.0"> - <name>Structures_Graph</name> - <summary>Graph datastructure manipulation library</summary> - <license>LGPL</license> - <description> - Structures_Graph is a package for creating and manipulating graph datastructures. It allows building of directed - and undirected graphs, with data and metadata stored in nodes. The library provides functions for graph traversing - as well as for characteristic extraction from the graph topology. - </description> - <maintainers> - <maintainer> - <user>sergiosgc</user> - <name>Sérgio Carvalho</name> - <email>sergio.carvalho@portugalmail.com</email> - <role>lead</role> - </maintainer> - </maintainers> - - <release> - <version>1.0.3</version> - <date>2007-01-30</date> - <state>stable</state> - <notes> - Version 1.0.3 is functionally equivalent to 1.0.2, but released with a v1.0 package.xml to deal with bug #9965:installation problem - </notes> - <filelist> -FILESGOHERE - </filelist> - </release> - <deps> - <dep type="pkg" rel="ge" version="1.2">PEAR</dep> - </deps> -</package> -EOF -for dir in $TARGET_DIRS -do - mkdir -p $TARGET_DIR/$dir - cp `find $dir -maxdepth 1 -type f | grep -v .arch-ids` $TARGET_DIR/$dir -done -cp LICENSE BUILD -(cd BUILD; pear package) -rm -Rf BUILD/package.xml BUILD/LICENSE BUILD/Structures - - - -./package.sh -scp BUILD/*.tgz root@sergiocarvalho.com:/home/httpd/vhosts/com/sergiocarvalho/pear-base/pear -(cd docs; ./generate.sh) -scp -r docs/html/* root@iluvatar.portugalmail.pt:/home/httpd/vhosts/com/sergiocarvalho/pear-base/pear/docs/Structures_Graph - -<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0"> -<package version="1.0" packagerversion="1.5.0"> - <name>Structures_Graph</name> - <summary>Graph datastructure manipulation library</summary> - <description>Structures_Graph is a package for creating and manipulating graph datastructures. It allows building of directed -and undirected graphs, with data and metadata stored in nodes. The library provides functions for graph traversing -as well as for characteristic extraction from the graph topology. - </description> - <maintainers> - <maintainer> - <user>sergiosgc</user> - <name>Sérgio Carvalho</name> - <email>sergio.carvalho@portugalmail.com</email> - <role>lead</role> - </maintainer> - </maintainers> - <release> - <version>1.0.2</version> - <date>2007-02-01</date> - <license>LGPL</license> - <state>stable</state> - <notes>- Bug #9682 only variables can be returned by reference -- fix Bug #9661 notice in Structures_Graph_Manipulator_Topological::sort() - </notes> - <filelist> - <file role="doc" baseinstalldir="" name="docs/html/media/banner.css"/> - <file role="doc" baseinstalldir="" name="docs/html/media/stylesheet.css"/> - <file role="doc" baseinstalldir="" name="docs/html/Structures_Graph/Structures_Graph.html"/> - <file role="doc" baseinstalldir="" name="docs/html/Structures_Graph/Structures_Graph_Manipulator_AcyclicTest.html"/> - <file role="doc" baseinstalldir="" name="docs/html/Structures_Graph/Structures_Graph_Manipulator_TopologicalSorter.html"/> - <file role="doc" baseinstalldir="" name="docs/html/Structures_Graph/Structures_Graph_Node.html"/> - <file role="doc" baseinstalldir="" name="docs/html/Structures_Graph/tutorial_Structures_Graph.pkg.html"/> - <file role="doc" baseinstalldir="" name="docs/html/Structures_Graph/_Structures_Graph_Manipulator_AcyclicTest_php.html"/> - <file role="doc" baseinstalldir="" name="docs/html/Structures_Graph/_Structures_Graph_Manipulator_TopologicalSorter_php.html"/> - <file role="doc" baseinstalldir="" name="docs/html/Structures_Graph/_Structures_Graph_Node_php.html"/> - <file role="doc" baseinstalldir="" name="docs/html/Structures_Graph/_Structures_Graph_php.html"/> - <file role="doc" baseinstalldir="" name="docs/html/classtrees_Structures_Graph.html"/> - <file role="doc" baseinstalldir="" name="docs/html/elementindex.html"/> - <file role="doc" baseinstalldir="" name="docs/html/elementindex_Structures_Graph.html"/> - <file role="doc" baseinstalldir="" name="docs/html/errors.html"/> - <file role="doc" baseinstalldir="" name="docs/html/index.html"/> - <file role="doc" baseinstalldir="" name="docs/html/li_Structures_Graph.html"/> - <file role="doc" baseinstalldir="" name="docs/html/packages.html"/> - <file role="doc" baseinstalldir="" name="docs/html/todolist.html"/> - <file role="doc" baseinstalldir="" name="docs/tutorials/Structures_Graph/Structures_Graph.pkg"/> - <file role="doc" baseinstalldir="" name="docs/generate.sh"/> - <file role="php" baseinstalldir="" name="Structures/Graph/Manipulator/AcyclicTest.php"/> - <file role="php" baseinstalldir="" name="Structures/Graph/Manipulator/TopologicalSorter.php"/> - <file role="php" baseinstalldir="" name="Structures/Graph/Node.php"/> - <file role="php" baseinstalldir="" name="Structures/Graph.php"/> - <file role="test" baseinstalldir="" name="tests/testCase/BasicGraph.php"/> - <file role="test" baseinstalldir="" name="tests/all-tests.php"/> - <file role="test" baseinstalldir="" name="tests/README"/> - <file role="data" baseinstalldir="" name="genpackage.xml.pl"/> - <file role="data" baseinstalldir="" name="LICENSE"/> - <file role="data" baseinstalldir="" name="package.sh"/> - <file role="data" baseinstalldir="" name="publish.sh"/> - </filelist> - </release> -</package> - + /** * File/Directory manipulation * @@ -94285,7 +94228,7 @@ $GLOBALS['_System_temp_files'] = array(); * @author Tomas V.V. Cox <cox@idecnet.com> * @copyright 1997-2006 The PHP Group * @license http://opensource.org/licenses/bsd-license.php New BSD License -* @version Release: 1.9.0 +* @version Release: 1.9.1 * @link http://pear.php.net/package/PEAR * @since Class available since Release 0.1 * @static @@ -98778,4 +98721,4 @@ iEYEABECAAYFAkk8e2QACgkQcqMhusJF8XULZgCg0iwVLWueraJzK5s1AesDkVzv GucAn22sSv3QiTSUWG9BmakiW9hFsb4V =g2mr -----END PGP SIGNATURE----- - + |