File manager - Edit - /home/newsbmcs.com/public_html/static/img/logo/doc.tar
Back
lsphp81-ioncube/USER-GUIDE.txt 0000644 00000025734 15035214013 0011644 0 ustar 00 ionCube Loader 13.3 (beta) User Guide ===================================== This document describes the available php.ini configuration options of the ionCube Loader that relate to processing of PHP encoded files, and also the ionCube24 service. It also describes which encoded files can be run by each ionCube Loader. PERFORMANCE OF ENCODED FILES ---------------------------- We recommend that the encoded paths feature (see below) is used with encoded files in order to maximise performance. ENCODED FILES ------------- INI entry: ioncube.loader.encoded_paths Purpose: Specify the locations of encoded files The ionCube Loader will normally examine a PHP file before processing to test whether it is encoded, and will run the file itself if necessary. Although this checking is very efficient, restricting which files the Loader tests for being encoded may give extra performance. If set to a series of paths or files, only files in those locations are tested. Entries should be separated by a : on Unix and ; on Windows. A path may be prefixed with + or - to add or remove that path from the possible locations. + is assumed if no character is given. Examples: (... means ioncube.loader.encoded_paths) * Site with a single encoded module in /var/www/html/modules/RSS ... = "/var/www/html/modules/RSS" * As above, with a site configuration file encoded too. ... = "/var/www/html/modules/RSS:/var/www/html/config/config.php" * Encoded files may be anywhere except for /var/www/html/framework ... = "/:-/var/www/html/framework" * Site with most modules encoded except for one ... = "/var/www/html/modules:-/var/www/html/modules/plain" * As above, with an encoded config file in the plain directory ... = "/site/modules:-/site/modules/plain:/site/modules/plain/config.php" Locations: The ioncube.loader.encoded_paths property can be set in a php.ini file, in a .htaccess file (when using Apache), in a .user.ini file (when using CGI PHP 5.3+) or using ini_set within a PHP script. In ini files only the last value will be used for the encoded_paths property. If you wish to build up the value in several lines then, for PHP 5.1+, you can use the following syntax: ioncube.loader.encoded_paths = "/path1" ioncube.loader.encoded_paths = ${ioncube.loader.encoded_paths}":/path2" ; etc... LIMITATIONS OF LOADERS AND ENCODED FILES ---------------------------------------- Encoded files can, in general, run on versions of PHP equal to or greater than the source language of the Encoder used to produce them. So a file produced by the Encoder for PHP 7.2 can be run by the Loaders for PHP 7.2, 7.3 and 7.4, but 7.1. This means that the Loaders offer good backwards compatibility, however there are the following limitations: * The Loader for PHP 8.2 can only run files produced for PHP 8.2. Updates for files produced for PHP 8.1 should be obtained to use them with PHP 8.2. * The Loader for PHP 8.1 can only run files produced for PHP 8.1. * The Loaders for PHP 7.1 through 7.4 can only run files produced by the Encoders for PHP 7. * The Loader for PHP 7.0 can only run files produced by the Encoder for PHP 5.6. * The Loaders for PHP 5.5 and PHP 5.6 cannot run files produced by the PHP 4 Encoder. IONCUBE24 : real-time intrusion protection and PHP error reporting --------- ### (Available for Linux 32 and 64 bit x86 servers using PHP 7) ionCube24 (https://ioncube24.com) is an ionCube service that uses the ionCube Loader to provide both real-time protection against the exploit of website vulnerabilities and alerting of website errors. Vulnerabilities in PHP applications are common, particularly in sites using Wordpress and other plugin based systems. Exploits result in website defacement or customer data being compromised, and ionCube24 provides a uniquely powerful defense. PHP errors can cause intermittent or even persistent blank pages or errors for visitors until discovered, and without active monitoring this could go undetected indefinitely. ionCube24 active monitoring ensures you are always aware of problems in your website code. ionCube24 is free to try, with the server side support built into the Linux Loaders as standard. With the Loader installed, ionCube24 can be activated at any time to give active intrusion protection and error reporting. ## php.ini settings ionCube24 has a powerful real-time web interface to configure, monitor and manage things, and there are also settings that can be used in a php.ini file as summarised below. The setup process at https://ioncube24.com automatically gives the settings that you need to get started, but you may wish to make changes yourself once setup. The default values are given with each example. ### Global settings INI entry: ic24.enable ; default 0 Purpose: Enable or disable all ionCube24 features. This defaults to 0 (off), and in this case no ionCube24 behaviour is activated. Example: ic24.enable = 1 ---------- INI entry: ic24.api_access_key ; provided during setup Purpose: An authentication key for adminstration requests. This value is provided when adding a server to ionCube24. ---------- INI entry: ic24.api_check_ip ; default 1 Purpose: Specify whether the IP for admin requests should be validated If set, ionCube24 refuses access to API functions unless the calling IP is a known ionCube IP address. This option should be left with the default setting unless web requests pass through a proxy and your site appears to be accessed from the IP of the proxy instead of ionCube. Note that access to API functions will still be authenticated by access key. ---------- INI entry: ic24.api_max_timeout ; default 7 Purpose: Maximum timeout period when sending notifications to ionCube24. The actual period is adaptive so that a brief increase in typical latency will favour a timeout followed by a retry rather than a longer than usual timeout. ---------- INI entry: ic24.home_dir ; no default Purpose: The home directory for ionCube24 related system files. A location outside of the web root is recommended. It should be writable by the web server during startup. Example: ic24.home_dir = /var/www/ic24_home ---------- INI entry: ic24.update_domains_retry_interval ; default 30 Purpose: The number of seconds to wait before retrying a fetch of the set of domains being managed. ### Security related settings INI entry: ic24.sec.enable ; default "auto" Purpose: Enable the intrusion protection feature of ionCube24. Accepted values: * "auto" (default) - allow setting from the ionCube24 control panel. * 1 : always enabled. * 0 : disabled. ---------- INI entry: ic24.sec.initial_state ; default 1 Purpose: The default for whether security should be enabled or disabled. The default is to enable protection. Any files on a protected domain will become blocked if they are changed, so setting this to 0 will avoid accidental blocking when using ionCube24 for the first time. Protection may be enabled and disabled using the ionCube24 control panel and also via the User API. Accepted values: * 1 : protection will be active when ionCube24 initialises. * 0 : protection will be disabled. ---------- INI entry: ic24.sec.initial_action ; default "block" Purpose: The initial setting for how new and modified files should be treated when about to execute. The default is to block. The action is taken only if protection is enabled, and the setting may be changed via the ionCube24 control panel. Accepted values: * "block" : prevent execution of new or modified files * "allow" : allow execution of new or modified files Note that depending on the notification settings, a notification may still be generated when a new or modified file is about to execute even if it is not blocked. ---------- INI entry: ic24.sec.initial_notify ; default "always" Purpose: The initial setting for whether a notification is generated the first time an unacknowledged new or modified file is attempted to be executed. This setting can be changed via the ionCube24 control panel. Accepted values: * "always" : always notify of a new modification * "once" : only the first detected modification is reported * "never" : never notify of new and modified files ---------- INI entry: ic24.sec.exclusion_key ; provided during setup Purpose: A key that if present at the start of a file, will identify the file as trusted. This value is provided when adding a server to ionCube24. ---------- INI entry: ic24.sec.trusted_include_paths ; no default Purpose: List paths from where files can be included and automatically trusted. Example: ic24.sec.trusted_include_paths = "/var/cache:/var/cache2" Directories can be excluded from the list by prefixing with a minus character -. e.g. "/var/cache:-/var/cache/subdir" This is useful if your site creates and/or modifies files by itself from time to time, e.g. in a cache directory. Requests that *directly* access files on a trusted include path will be blocked but the file itself will not be blocked, so requests that use the file as intended will still work. See ioncube24.com for more details once signed up. As an alternative, if possible we recommend producing files that include the exclusion key. ---------- INI entry: ic24.sec.block_uploaded_files ; default 1 Purpose: If set, block any uploaded files in ionCube24 that are processed using the standard PHP mechanism for uploaded files. This applies even if the file is subsequently included and where included files being automatically approved with the previous setting. ---------- INI entry: ic24.sec.block_stdin ; default 1 Purpose: Refuse code that PHP sees via stdin. If disabled, code via stdin will run without security checking as there is no filepath. This setting should be left on as PHP would normally never receive a script via stdin. ### PHP Error reporting settings INI entry: ic24.phperr.enable ; default "auto" Purpose: Enable reporting of PHP errors to ionCube24. When enabled, any non-ignored errors are reported to ionCube24 in realtime, triggering alerting so errors can be investigated as necessary. Accepted values: * "auto" (default) - allow setting from the ionCube24 control panel. * 1 : always enabled. * 0 : disabled. ---------- ### Deprecated settings Deprecated settings are subject to removal in a future release. INI entry: ic24.phperr.ignore ; default 0 Purpose: Specify default error levels to always ignore for all domains. Note that default and per-domain errors to ignore can also be set via the web interface, and are combined with this setting. Leaving this unset and using the web interface is recommended for maximum flexibility. Example: ic24.phperr.ignore = E_NOTICE | E_DEPRECATED (c) ionCube Ltd. 2024 lsphp81-pear/Structures_Graph_package.xml 0000644 00000012470 15035214013 0014467 0 ustar 00 <?xml version="1.0" encoding="UTF-8"?> <package packagerversion="1.9.4" 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> <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> <lead> <name>Sérgio Carvalho</name> <user>sergiosgc</user> <email>sergio.carvalho@portugalmail.com</email> <active>yes</active> </lead> <helper> <name>Brett Bieber</name> <user>saltybeagle</user> <email>brett.bieber@gmail.com</email> <active>yes</active> </helper> <date>2015-07-20</date> <time>20:04:01</time> <version> <release>1.1.1</release> <api>1.1.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license>LGPL-3.0+</license> <notes> * Fix deprecated constructor warning on PHP 7 [cweiske] </notes> <contents> <dir baseinstalldir="/" name="/"> <file baseinstalldir="/" md5sum="628eb6532a8047bf5962fe24c1c245df" name="docs/tutorials/Structures_Graph/Structures_Graph.pkg" role="doc" /> <file baseinstalldir="/" md5sum="4b26eecd30f8695fc3739b1a5b59518e" name="Structures/Graph/Manipulator/AcyclicTest.php" role="php" /> <file baseinstalldir="/" md5sum="1f857de1fbbaace54b857ed9712f399f" name="Structures/Graph/Manipulator/TopologicalSorter.php" role="php" /> <file baseinstalldir="/" md5sum="f8e969f0b45d3859408901c8350bb701" name="Structures/Graph/Node.php" role="php" /> <file baseinstalldir="/" md5sum="88ae1ad8bcd74d4b74ad845f55611cdd" name="Structures/Graph.php" role="php" /> <file baseinstalldir="/" md5sum="65e4e85e573833516f5cc1d7a81db9c5" name="tests/AllTests.php" role="test" /> <file baseinstalldir="/" md5sum="68ba309e2ac6713527f0fd31456457a1" name="tests/BasicGraphTest.php" role="test" /> <file baseinstalldir="/" md5sum="190fc4634be55cd98608b72bc9d0a27f" name="tests/TopologicalSorterTest.php" role="test" /> <file baseinstalldir="/" md5sum="4dc0c43f054732ec0f2fc78458ebadde" name="tests/AcyclicTestTest.php" role="test" /> <file baseinstalldir="/" md5sum="68ba309e2ac6713527f0fd31456457a1" name="tests/BasicGraphTest.php" role="test" /> <file baseinstalldir="/" md5sum="c891580ee21a7aa863ac32566c979fc5" name="tests/helper.inc" role="test"> <tasks:replace from="@php_dir@" to="php_dir" type="pear-config" /> </file> <file baseinstalldir="/" md5sum="b52f2d57d10c4f7ee67a7eb9615d5d24" name="LICENSE" role="doc" /> </dir> </contents> <compatible> <name>PEAR</name> <channel>pear.php.net</channel> <min>1.5.0RC3</min> <max>1.9.1</max> </compatible> <dependencies> <required> <php> <min>5.3.0</min> </php> <pearinstaller> <min>1.4.3</min> </pearinstaller> </required> </dependencies> <phprelease /> <changelog> <release> <version> <release>1.0.2</release> <api>1.0.0</api> </version> <stability> <release>stable</release> <api>stable</api> </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> </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> <release> <version> <release>1.0.4</release> <api>1.0.3</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2010-10-25</date> <license>LGPL License</license> <notes> Bugfix Release: * Bug #17108 BasicGraph::test_directed_degree fails on PHP 5 [clockwerx] </notes> </release> <release> <version> <release>1.1.0</release> <api>1.1.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2015-02-26</date> <license>LGPL-3.0+</license> <notes> * Set minimum PHP version to 5.3 * Fix bug #19367: Incorrect FSF address in LICENSE * Change license from LGPL-2.1+ to LGPL-3.0+ </notes> </release> <release> <version> <release>1.1.1</release> <api>1.1.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2015-07-20</date> <license>LGPL-3.0+</license> <notes> * Fix deprecated constructor warning on PHP 7 [cweiske] </notes> </release> </changelog> </package> lsphp81-pear/Console_Getopt_package.xml 0000644 00000016655 15035214013 0014120 0 ustar 00 <?xml version="1.0" encoding="UTF-8"?> <package packagerversion="1.10.10" 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>Console_Getopt</name> <channel>pear.php.net</channel> <summary>Command-line option parser</summary> <description>This is a PHP implementation of "getopt" supporting both short and long options.</description> <lead> <name>Andrei Zmievski</name> <user>andrei</user> <email>andrei@php.net</email> <active>no</active> </lead> <developer> <name>Stig Bakken</name> <user>ssb</user> <email>stig@php.net</email> <active>no</active> </developer> <helper> <name>Greg Beaver</name> <user>cellog</user> <email>cellog@php.net</email> <active>no</active> </helper> <date>2019-11-20</date> <time>18:27:07</time> <version> <release>1.4.3</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">BSD-2-Clause</license> <notes> * PR #4: Fix PHP 7.4 deprecation: array/string curly braces access * PR #5: fix phplint warnings </notes> <contents> <dir name="/"> <file md5sum="63da5909aa85a0eb76e0ad0b5e00811a" name="Console/Getopt.php" role="php" /> <file md5sum="5a6fa63ce6f2370cdad11dc24a5addd0" name="tests/001-getopt.phpt" role="test" /> <file md5sum="7540b630cb8e7bfd8bb06fb65a010ae9" name="tests/bug10557.phpt" role="test" /> <file md5sum="e469de3628de85779118103b3248a44f" name="tests/bug11068.phpt" role="test" /> <file md5sum="cdc108b084ad8e82eeb2417f04b49ec8" name="tests/bug13140.phpt" role="test" /> </dir> </contents> <compatible> <name>PEAR</name> <channel>pear.php.net</channel> <min>1.4.0</min> <max>1.999.999</max> </compatible> <dependencies> <required> <php> <min>5.4.0</min> </php> <pearinstaller> <min>1.8.0</min> </pearinstaller> </required> </dependencies> <phprelease /> <changelog> <release> <date>2019-11-20</date> <version> <release>1.4.3</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">BSD-2-Clause</license> <notes> * PR #4: Fix PHP 7.4 deprecation: array/string curly braces access * PR #5: fix phplint warnings </notes> </release> <release> <date>2019-02-06</date> <version> <release>1.4.2</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">BSD-2-Clause</license> <notes> * Remove use of each(), which is removed in PHP 8 </notes> </release> <release> <date>2015-07-20</date> <version> <release>1.4.1</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">BSD-2-Clause</license> <notes> * Fix unit test on PHP 7 [cweiske] </notes> </release> <release> <date>2015-02-22</date> <version> <release>1.4.0</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">BSD-2-Clause</license> <notes> * Change license to BSD-2-Clause * Set minimum PHP version to 5.4.0 * Mark static methods with "static" keyword </notes> </release> <release> <date>2011-03-07</date> <version> <release>1.3.1</release> <api>1.3.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://www.php.net/license">PHP License</license> <notes> * Change the minimum PEAR installer dep to be lower </notes> </release> <release> <date>2010-12-11</date> <time>20:20:13</time> <version> <release>1.3.0</release> <api>1.3.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://www.php.net/license">PHP License</license> <notes> * Implement Request #13140: [PATCH] to skip unknown parameters. [patch by rquadling, improved on by dufuz] </notes> </release> <release> <date>2007-06-12</date> <version> <release>1.2.3</release> <api>1.2.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://www.php.net/license">PHP License</license> <notes> * fix Bug #11068: No way to read plain "-" option [cardoe] </notes> </release> <release> <version> <release>1.2.2</release> <api>1.2.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2007-02-17</date> <license uri="http://www.php.net/license">PHP License</license> <notes> * fix Bug #4475: An ambiguous error occurred when specifying similar longoption name. * fix Bug #10055: Not failing properly on short options missing required values </notes> </release> <release> <version> <release>1.2.1</release> <api>1.2.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2006-12-08</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Fixed bugs #4448 (Long parameter values truncated with longoption parameter) and #7444 (Trailing spaces after php closing tag) </notes> </release> <release> <version> <release>1.2</release> <api>1.2</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2003-12-11</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Fix to preserve BC with 1.0 and allow correct behaviour for new users </notes> </release> <release> <version> <release>1.0</release> <api>1.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2002-09-13</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Stable release </notes> </release> <release> <version> <release>0.11</release> <api>0.11</api> </version> <stability> <release>beta</release> <api>beta</api> </stability> <date>2002-05-26</date> <license uri="http://www.php.net/license">PHP License</license> <notes> POSIX getopt compatibility fix: treat first element of args array as command name </notes> </release> <release> <version> <release>0.10</release> <api>0.10</api> </version> <stability> <release>beta</release> <api>beta</api> </stability> <date>2002-05-12</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Packaging fix </notes> </release> <release> <version> <release>0.9</release> <api>0.9</api> </version> <stability> <release>beta</release> <api>beta</api> </stability> <date>2002-05-12</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Initial release </notes> </release> </changelog> </package> lsphp81-pear/PEAR/README.rst 0000644 00000004342 15035214013 0011203 0 ustar 00 ************************* PEAR - The PEAR Installer ************************* .. image:: https://travis-ci.org/pear/pear-core.svg?branch=stable :target: https://travis-ci.org/pear/pear-core ========================================= What is the PEAR Installer? What is PEAR? ========================================= PEAR is the PHP Extension and Application Repository, found at http://pear.php.net. The **PEAR Installer** is this software, which contains executable files and PHP code that is used to **download and install** PEAR code from pear.php.net. PEAR contains useful **software libraries and applications** such as MDB2 (database abstraction), HTML_QuickForm (HTML forms management), PhpDocumentor (auto-documentation generator), DB_DataObject (Data Access Abstraction), and many hundreds more. Browse all available packages at http://pear.php.net, the list is constantly growing and updating to reflect improvements in the PHP language. .. warning:: Do not run PEAR without installing it - if you downloaded this tarball manually, you MUST install it. Read the instructions in INSTALL prior to use. ============= Documentation ============= Documentation for PEAR can be found at http://pear.php.net/manual/. Installation documentation can be found in the INSTALL file included in this tarball. ===== Tests ===== Run the tests without installation as follows:: $ ./scripts/pear.sh run-tests -r tests You should have the ``Text_Diff`` package installed to get nicer error output. To run the tests with another PHP version, modify ``php_bin`` and set the ``PHP_PEAR_PHP_BIN`` environment variable:: $ pear config-set php_bin /usr/local/bin/php7 $ PHP_PEAR_PHP_BIN=/usr/local/bin/php7 ./scripts/pear.sh run-tests -r tests Happy PHPing, we hope PEAR will be a great tool for your development work! Test dependencies ================= * ``zlib`` ========= Releasing ========= Create a PEAR package, as well as phars for pear-less installation, simply run ``build-release.sh``). ``go-pear.phar`` contains the PEAR installer installer that asks where to install it. It is available from http://pear.php.net/go-pear.phar. ``install-pear-nozlib.phar`` installs PEAR automatically without asking anything. It is shipped with PHP itself. lsphp81-pear/XML_Util_package.xml 0000644 00000045621 15035214013 0012624 0 ustar 00 <?xml version="1.0" encoding="UTF-8"?> <package packagerversion="1.10.5" 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>XML_Util</name> <channel>pear.php.net</channel> <summary>XML utility class</summary> <description>Selection of methods that are often needed when working with XML documents. Functionality includes creating of attribute lists from arrays, creation of tags, validation of XML names and more.</description> <lead> <name>Chuck Burgess</name> <user>ashnazg</user> <email>ashnazg@php.net</email> <active>yes</active> </lead> <lead> <name>Stephan Schmidt</name> <user>schst</user> <email>schst@php-tools.net</email> <active>no</active> </lead> <helper> <name>Davey Shafik</name> <user>davey</user> <email>davey@php.net</email> <active>no</active> </helper> <date>2020-04-19</date> <time>14:54:10</time> <version> <release>1.4.5</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> * PR #12: fix Trying to access array offset on value of type int </notes> <contents> <dir baseinstalldir="/" name="/"> <file baseinstalldir="/" md5sum="af2746028ae4395f549855a5e444ada7" name="examples/example.php" role="doc" /> <file baseinstalldir="/" md5sum="b9e52f4aa372c4067c609f49c2285b8f" name="examples/example2.php" role="doc" /> <file baseinstalldir="/" md5sum="d0af9354df0962e70e9e2215b5611b9c" name="tests/AbstractUnitTests.php" role="test" /> <file baseinstalldir="/" md5sum="57ce547d64d6e1f2986c313407deffef" name="tests/ApiVersionTests.php" role="test" /> <file baseinstalldir="/" md5sum="2d0427db94790df7ada24a744547edf5" name="tests/AttributesToStringTests.php" role="test" /> <file baseinstalldir="/" md5sum="673d1438c4718a70c5da3fe019027db4" name="tests/CollapseEmptyTagsTests.php" role="test" /> <file baseinstalldir="/" md5sum="46b981f91edd163f1cd021cfef5d1bb1" name="tests/CreateCDataSectionTests.php" role="test" /> <file baseinstalldir="/" md5sum="6aa925b879572e9b3f1885b7cdbb223b" name="tests/CreateCommentTests.php" role="test" /> <file baseinstalldir="/" md5sum="dbc083b62a020fa245fde5a7828a4806" name="tests/CreateEndElementTests.php" role="test" /> <file baseinstalldir="/" md5sum="f58e38343ecf60811c842d4cfc8194ae" name="tests/CreateStartElementTests.php" role="test" /> <file baseinstalldir="/" md5sum="9385fba272f4ebccf4c95d43d16dcff4" name="tests/CreateTagTests.php" role="test" /> <file baseinstalldir="/" md5sum="51e7ba1390e6dadc3c0be0c960bf171d" name="tests/CreateTagFromArrayTests.php" role="test" /> <file baseinstalldir="/" md5sum="6bbb54ef4cf56dc2c0b558b295de5668" name="tests/GetDocTypeDeclarationTests.php" role="test" /> <file baseinstalldir="/" md5sum="825b440b0ee8abd10b4df017c08bf15f" name="tests/GetXmlDeclarationTests.php" role="test" /> <file baseinstalldir="/" md5sum="e6783bb330f8f2ae7225f02d56f194e4" name="tests/IsValidNameTests.php" role="test" /> <file baseinstalldir="/" md5sum="b273525b905ae6d5fc53adcb3ce0b8d9" name="tests/RaiseErrorTests.php" role="test" /> <file baseinstalldir="/" md5sum="20befbef5e55639539336761a17c64f3" name="tests/ReplaceEntitiesTests.php" role="test" /> <file baseinstalldir="/" md5sum="a3ceff3302e31f90130be01c312b33b3" name="tests/ReverseEntitiesTests.php" role="test" /> <file baseinstalldir="/" md5sum="aeb95108896180ef77a7dce3c310a3b8" name="tests/SplitQualifiedNameTests.php" role="test" /> <file baseinstalldir="/" md5sum="e93010b1eff68f889fefcb006bf20b63" name="tests/Bug4950Tests.php" role="test" /> <file baseinstalldir="/" md5sum="748ffb640e13e7b960385c7e12413782" name="tests/Bug5392Tests.php" role="test" /> <file baseinstalldir="/" md5sum="01e68b66e27a6fdb197d572c67ae6bc5" name="tests/Bug18343Tests.php" role="test" /> <file baseinstalldir="/" md5sum="d945220c38344bc773b18244439bb0cc" name="tests/Bug21177Tests.php" role="test" /> <file baseinstalldir="/" md5sum="af2672bb90875c2e00f93f563bfafe70" name="tests/Bug21184Tests.php" role="test" /> <file baseinstalldir="/" md5sum="0db6fa9c169bf6904aa7e588c2325a13" name="XML/Util.php" role="php"> <tasks:replace from="@version@" to="version" type="package-info" /> </file> </dir> </contents> <dependencies> <required> <php> <min>5.4.0</min> </php> <pearinstaller> <min>1.9.0</min> </pearinstaller> <extension> <name>pcre</name> </extension> </required> </dependencies> <phprelease /> <changelog> <release> <version> <release>0.1</release> <api>0.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2003-08-01</date> <license uri="http://www.php.net/license">PHP License</license> <notes> inital release </notes> </release> <release> <version> <release>0.1.1</release> <api>0.1.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2003-08-02</date> <license uri="http://www.php.net/license">PHP License</license> <notes> bugfix: removed bug in createTagFromArray </notes> </release> <release> <version> <release>0.2</release> <api>0.2</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2003-08-12</date> <license uri="http://www.php.net/license">PHP License</license> <notes> added XML_Util::getDocTypeDeclaration() </notes> </release> <release> <version> <release>0.2.1</release> <api>0.2.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2003-09-05</date> <license uri="http://www.php.net/license">PHP License</license> <notes> fixed bug with zero as tag content in createTagFromArray and createTag </notes> </release> <release> <version> <release>0.3</release> <api>0.3</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2003-09-12</date> <license uri="http://www.php.net/license">PHP License</license> <notes> added createStartElement() and createEndElement() </notes> </release> <release> <version> <release>0.4</release> <api>0.4</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2003-09-21</date> <license uri="http://www.php.net/license">PHP License</license> <notes> added createCDataSection(), added support for CData sections in createTag* methods, fixed bug #23, fixed bug in splitQualifiedName() </notes> </release> <release> <version> <release>0.5</release> <api>0.5</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2003-09-23</date> <license uri="http://www.php.net/license">PHP License</license> <notes> added support for multiline attributes in attributesToString(), createTag*() and createStartElement (requested by Yavor Shahpasov for XML_Serializer), added createComment </notes> </release> <release> <version> <release>0.5.1</release> <api>0.5.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2003-09-26</date> <license uri="http://www.php.net/license">PHP License</license> <notes> added default namespace parameter (optional) in splitQualifiedName() (requested by Sebastian Bergmann) </notes> </release> <release> <version> <release>0.5.2</release> <api>0.5.2</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2003-11-22</date> <license uri="http://www.php.net/license">PHP License</license> <notes> now creates XHTML compliant empty tags (Davey), minor whitespace fixes (Davey) </notes> </release> <release> <version> <release>0.6.0beta1</release> <api>0.6.0beta1</api> </version> <stability> <release>beta</release> <api>beta</api> </stability> <date>2004-05-24</date> <license uri="http://www.php.net/license">PHP License</license> <notes> - Fixed bug 1438 (namespaces not accepted for isValidName()) (thanks to davey) - added optional parameter to replaceEntities() to define the set of entities to replace - added optional parameter to attributesToString() to define, whether entities should be replaced (requested by Sebastian Bergmann) - allowed second parameter to XML_Util::attributesToString() to be an array containing options (easier to use, if you only need to set the last parameter) - introduced XML_Util::raiseError() to avoid the necessity of including PEAR.php, will only be included on error </notes> </release> <release> <version> <release>0.6.0</release> <api>0.6.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2004-06-07</date> <license uri="http://www.php.net/license">PHP License</license> <notes> - Fixed bug 1438 (namespaces not accepted for isValidName()) (thanks to davey) - added optional parameter to replaceEntities() to define the set of entities to replace - added optional parameter to attributesToString() to define, whether entities should be replaced (requested by Sebastian Bergmann) - allowed second parameter to XML_Util::attributesToString() to be an array containing options (easier to use, if you only need to set the last parameter) - introduced XML_Util::raiseError() to avoid the necessity of including PEAR.php, will only be included on error </notes> </release> <release> <version> <release>0.6.1</release> <api>0.6.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2004-10-28</date> <license uri="http://www.php.net/license">PHP License</license> <notes> - Added check for tag name (either as local part or qualified name) in createTagFromArray() (bug #1083) </notes> </release> <release> <version> <release>1.0.0</release> <api>1.0.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2004-10-28</date> <license uri="http://www.php.net/license">PHP License</license> <notes> - Added reverseEntities() (request #2639) </notes> </release> <release> <version> <release>1.1.0</release> <api>1.1.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2004-11-19</date> <license uri="http://www.php.net/license">PHP License</license> <notes> - Added collapseEmptyTags (patch by Sebastian Bergmann and Thomas Duffey) </notes> </release> <release> <version> <release>1.1.1</release> <api>1.1.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2004-12-23</date> <license uri="http://www.php.net/license">PHP License</license> <notes> - fixed bug in replaceEntities() and reverseEntities() in conjunction with XML_UTIL_ENTITIES_HTML - createTag() and createTagFromArray() now accept XML_UTIL_ENTITIES_XML, XML_UTIL_ENTITIES_XML_REQUIRED, XML_UTIL_ENTITIES_HTML, XML_UTIL_ENTITIES_NONE and XML_UTIL_CDATA_SECTION as $replaceEntities parameter </notes> </release> <release> <version> <release>1.1.2</release> <api>1.1.2</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2006-12-01</date> <license uri="http://www.php.net/license">PHP License</license> <notes> - fixed bug #5419: isValidName() now checks for character classes - implemented request #8196: added optional parameter to influence array sorting to createTag() createTagFromArray() and createStartElement() </notes> </release> <release> <version> <release>1.1.4</release> <api>1.1.4</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2006-12-16</date> <license uri="http://www.php.net/license">PHP License</license> <notes> - Fixed bug #9561: Not allowing underscores in middle of tags </notes> </release> <release> <version> <release>1.2.0a1</release> <api>1.2.0</api> </version> <stability> <release>alpha</release> <api>alpha</api> </stability> <date>2008-05-04</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> Changed license to New BSD License (Req #13826 [ashnazg]) Added a test suite against all API methods [ashnazg] Switch to package.xml v2 [ashnazg] Fixed Bug #4950: Incorrect CDATA serializing [ashnazg|ja.doma] </notes> </release> <release> <version> <release>1.2.0a2</release> <api>1.2.0</api> </version> <stability> <release>alpha</release> <api>alpha</api> </stability> <date>2008-05-22</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> Changed license to New BSD License (Req #13826 [ashnazg]) Added a test suite against all API methods [ashnazg] Switch to package.xml v2 [ashnazg] Added Req #13839: Missing XHTML empty tags to collapse [ashnazg|drry] Fixed Bug #5392: encoding of ISO-8859-1 is the only supported encoding [ashnazg] Fixed Bug #4950: Incorrect CDATA serializing [ashnazg|drry] -- (this fix differs from the one in v1.2.0a1) </notes> </release> <release> <version> <release>1.2.0RC1</release> <api>1.2.0</api> </version> <stability> <release>beta</release> <api>beta</api> </stability> <date>2008-07-12</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> Changed license to New BSD License (Req #13826 [ashnazg]) Added a test suite against all API methods [ashnazg] Switch to package.xml v2 [ashnazg] Added Req #13839: Missing XHTML empty tags to collapse [ashnazg|drry] Fixed Bug #5392: encoding of ISO-8859-1 is the only supported encoding [ashnazg] Fixed Bug #4950: Incorrect CDATA serializing [ashnazg|drry] -- (this fix differs from the one in v1.2.0a1) </notes> </release> <release> <version> <release>1.2.0</release> <api>1.2.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2008-07-26</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> Changed license to New BSD License (Req #13826 [ashnazg]) Added a test suite against all API methods [ashnazg] Switch to package.xml v2 [ashnazg] Added Req #13839: Missing XHTML empty tags to collapse [ashnazg|drry] Fixed Bug #5392: encoding of ISO-8859-1 is the only supported encoding [ashnazg] Fixed Bug #4950: Incorrect CDATA serializing [ashnazg|drry] -- (this fix differs from the one in v1.2.0a1) </notes> </release> <release> <version> <release>1.2.1</release> <api>1.2.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2011-12-31</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> Fixed Bug #14760: Bug in getDocTypeDeclaration() [ashnazg|fpospisil] </notes> </release> <release> <version> <release>1.2.2</release> <api>1.2.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2014-06-07</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> QA release Bug #18343 Entities in file names decoded during packaging Bug #19174 upgrade PHPUnit require statements & other fixes (for PEAR QA Team) Request #19750 examples/example.php encoding </notes> </release> <release> <version> <release>1.2.3</release> <api>1.2.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2014-06-07</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> Bug #20293 Broken installation for 1.2.2 </notes> </release> <release> <version> <release>1.3.0</release> <api>1.3.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2015-02-27</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> * Set minimum PHP version to 5.3.0 * Mark static methods with static keyword </notes> </release> <release> <version> <release>1.4.0</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2017-02-03</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> * Set minimum PHP version to 5.4.0 * Set minimum PEAR version to 1.10.1 * Adds a new XML_UTIL_COLLAPSE_NONE option for preventing empty tag collapsing. * Request #15467 CDATA sections and blank nodes </notes> </release> <release> <version> <release>1.4.1</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2017-02-07</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> * Bug #21177 XML_Util::collapseEmptyTags() can return NULL </notes> </release> <release> <version> <release>1.4.2</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2017-02-22</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> * Bug #21184 Collapse issue </notes> </release> <release> <version> <release>1.4.3</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2017-06-28</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> * Decrease minimum PEAR version to 1.9.0 to allow PEAR upgrades </notes> </release> <release> <version> <release>1.4.4</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2019-12-05</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> * PR #11: fix phplint warning </notes> </release> <release> <version> <release>1.4.5</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2020-04-19</date> <license uri="http://opensource.org/licenses/bsd-license">BSD License</license> <notes> * PR #12: fix Trying to access array offset on value of type int </notes> </release> </changelog> </package> lsphp81-pear/XML_Util/examples/example.php 0000644 00000021710 15035214013 0014402 0 ustar 00 <?php /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ /** * Examples (file #1) * * several examples for the methods of XML_Util * * PHP versions 4 and 5 * * LICENSE: * * Copyright (c) 2003-2008 Stephan Schmidt <schst@php.net> * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR 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. * * @category XML * @package XML_Util * @subpackage Examples * @author Stephan Schmidt <schst@php.net> * @copyright 2003-2008 Stephan Schmidt <schst@php.net> * @license http://opensource.org/licenses/bsd-license New BSD License * @version CVS: $Id$ * @link http://pear.php.net/package/XML_Util */ /** * set error level */ error_reporting(E_ALL); require_once 'XML/Util.php'; /** * replacing XML entities */ print 'replace XML entities:<br>'; print XML_Util::replaceEntities('This string contains < & >.'); print "\n<br><br>\n"; /** * reversing XML entities */ print 'replace XML entities:<br>'; print XML_Util::reverseEntities('This string contains < & >.'); print "\n<br><br>\n"; /** * building XML declaration */ print 'building XML declaration:<br>'; print htmlspecialchars(XML_Util::getXMLDeclaration()); print "\n<br><br>\n"; print 'building XML declaration with additional attributes:<br>'; print htmlspecialchars(XML_Util::getXMLDeclaration('1.0', 'UTF-8', true)); print "\n<br><br>\n"; /** * building document type declaration */ print 'building DocType declaration:<br>'; print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', 'http://pear.php.net/dtd/package-1.0')); print "\n<br><br>\n"; print 'building DocType declaration with public ID (does not exist):<br>'; print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', array('uri' => 'http://pear.php.net/dtd/package-1.0', 'id' => '-//PHP//PEAR/DTD PACKAGE 0.1'))); print "\n<br><br>\n"; print 'building DocType declaration with internal DTD:<br>'; print '<pre>'; print htmlspecialchars(XML_Util::getDocTypeDeclaration('package', 'http://pear.php.net/dtd/package-1.0', '<!ELEMENT additionalInfo (#PCDATA)>')); print '</pre>'; print "\n<br><br>\n"; /** * creating an attribute string */ $att = array( 'foo' => 'bar', 'argh' => 'tomato' ); print 'converting array to string:<br>'; print XML_Util::attributesToString($att); print "\n<br><br>\n"; /** * creating an attribute string with linebreaks */ $att = array( 'foo' => 'bar', 'argh' => 'tomato' ); print 'converting array to string (including line breaks):<br>'; print '<pre>'; print XML_Util::attributesToString($att, true, true); print '</pre>'; print "\n<br><br>\n"; /** * splitting a qualified tag name */ print 'splitting qualified tag name:<br>'; print '<pre>'; print_r(XML_Util::splitQualifiedName('xslt:stylesheet')); print '</pre>'; print "\n<br>\n"; /** * splitting a qualified tag name (no namespace) */ print 'splitting qualified tag name (no namespace):<br>'; print '<pre>'; print_r(XML_Util::splitQualifiedName('foo')); print '</pre>'; print "\n<br>\n"; /** * splitting a qualified tag name (no namespace, but default namespace specified) */ print 'splitting qualified tag name ' . '(no namespace, but default namespace specified):<br>'; print '<pre>'; print_r(XML_Util::splitQualifiedName('foo', 'bar')); print '</pre>'; print "\n<br>\n"; /** * verifying XML names */ print 'verifying \'My private tag\':<br>'; print '<pre>'; print_r(XML_Util::isValidname('My Private Tag')); print '</pre>'; print "\n<br><br>\n"; print 'verifying \'-MyTag\':<br>'; print '<pre>'; print_r(XML_Util::isValidname('-MyTag')); print '</pre>'; print "\n<br><br>\n"; /** * creating an XML tag */ $tag = array( 'namespace' => 'foo', 'localPart' => 'bar', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable'), 'content' => 'I\'m inside the tag' ); print 'creating a tag with namespace and local part:<br>'; print htmlentities(XML_Util::createTagFromArray($tag)); print "\n<br><br>\n"; /** * creating an XML tag */ $tag = array( 'qname' => 'foo:bar', 'namespaceUri' => 'http://foo.com', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable'), 'content' => 'I\'m inside the tag' ); print 'creating a tag with qualified name and namespaceUri:<br>'; print htmlentities(XML_Util::createTagFromArray($tag)); print "\n<br><br>\n"; /** * creating an XML tag */ $tag = array( 'qname' => 'bar', 'namespaceUri' => 'http://foo.com', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable') ); print 'creating an empty tag without namespace but namespace Uri:<br>'; print htmlentities(XML_Util::createTagFromArray($tag)); print "\n<br><br>\n"; /** * creating an XML tag with more namespaces */ $tag = array( 'namespace' => 'foo', 'localPart' => 'bar', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable'), 'content' => 'I\'m inside the tag', 'namespaces' => array( 'bar' => 'http://bar.com', 'pear' => 'http://pear.php.net', ) ); print 'creating an XML tag with more namespaces:<br />'; print htmlentities(XML_Util::createTagFromArray($tag)); print "\n<br><br>\n"; /** * creating an XML tag with a CData Section */ $tag = array( 'qname' => 'foo', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable'), 'content' => 'I\'m inside the tag' ); print 'creating a tag with CData section:<br>'; print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_CDATA_SECTION)); print "\n<br><br>\n"; /** * creating an XML tag with a CData Section */ $tag = array( 'qname' => 'foo', 'attributes' => array('key' => 'value', 'argh' => 't�t�'), 'content' => 'Also XHTML-tags can be created ' . 'and HTML entities can be replaced � � � � <>.' ); print 'creating a tag with HTML entities:<br>'; print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_ENTITIES_HTML)); print "\n<br><br>\n"; /** * creating an XML tag with createTag */ print 'creating a tag with createTag:<br>'; print htmlentities(XML_Util::createTag('myNs:myTag', array('foo' => 'bar'), 'This is inside the tag', 'http://www.w3c.org/myNs#')); print "\n<br><br>\n"; /** * trying to create an XML tag with an array as content */ $tag = array( 'qname' => 'bar', 'content' => array('foo' => 'bar') ); print 'trying to create an XML tag with an array as content:<br>'; print '<pre>'; print_r(XML_Util::createTagFromArray($tag)); print '</pre>'; print "\n<br><br>\n"; /** * trying to create an XML tag without a name */ $tag = array( 'attributes' => array('foo' => 'bar'), ); print 'trying to create an XML tag without a name:<br>'; print '<pre>'; print_r(XML_Util::createTagFromArray($tag)); print '</pre>'; print "\n<br><br>\n"; ?> lsphp81-pear/XML_Util/examples/example2.php 0000644 00000011353 15035214013 0014466 0 ustar 00 <?php /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ /** * Examples (file #2) * * several examples for the methods of XML_Util * * PHP versions 4 and 5 * * LICENSE: * * Copyright (c) 2003-2008 Stephan Schmidt <schst@php.net> * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR 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. * * @category XML * @package XML_Util * @subpackage Examples * @author Stephan Schmidt <schst@php.net> * @copyright 2003-2008 Stephan Schmidt <schst@php.net> * @license http://opensource.org/licenses/bsd-license New BSD License * @version CVS: $Id$ * @link http://pear.php.net/package/XML_Util */ /** * set error level */ error_reporting(E_ALL); require_once 'XML/Util.php'; /** * creating a start element */ print 'creating a start element:<br>'; print htmlentities(XML_Util::createStartElement('myNs:myTag', array('foo' => 'bar'), 'http://www.w3c.org/myNs#')); print "\n<br><br>\n"; /** * creating a start element */ print 'creating a start element:<br>'; print htmlentities(XML_Util::createStartElement('myTag', array(), 'http://www.w3c.org/myNs#')); print "\n<br><br>\n"; /** * creating a start element */ print 'creating a start element:<br>'; print '<pre>'; print htmlentities(XML_Util::createStartElement('myTag', array('foo' => 'bar', 'argh' => 'tomato'), 'http://www.w3c.org/myNs#', true)); print '</pre>'; print "\n<br><br>\n"; /** * creating an end element */ print 'creating an end element:<br>'; print htmlentities(XML_Util::createEndElement('myNs:myTag')); print "\n<br><br>\n"; /** * creating a CData section */ print 'creating a CData section:<br>'; print htmlentities(XML_Util::createCDataSection('I am content.')); print "\n<br><br>\n"; /** * creating a comment */ print 'creating a comment:<br>'; print htmlentities(XML_Util::createComment('I am a comment.')); print "\n<br><br>\n"; /** * creating an XML tag with multiline mode */ $tag = array( 'qname' => 'foo:bar', 'namespaceUri' => 'http://foo.com', 'attributes' => array('key' => 'value', 'argh' => 'fruit&vegetable'), 'content' => 'I\'m inside the tag & contain dangerous chars' ); print 'creating a tag with qualified name and namespaceUri:<br>'; print '<pre>'; print htmlentities(XML_Util::createTagFromArray($tag, XML_UTIL_REPLACE_ENTITIES, true)); print '</pre>'; print "\n<br><br>\n"; /** * create an attribute string without replacing the entities */ $atts = array('series' => 'Starsky & Hutch', 'channel' => 'ABC'); print 'creating a attribute string, ' . 'entities in values already had been replaced:<br>'; print htmlentities(XML_Util::attributesToString($atts, true, false, false, false, XML_UTIL_ENTITIES_NONE)); print "\n<br><br>\n"; /** * using the array-syntax for attributesToString() */ $atts = array('series' => 'Starsky & Hutch', 'channel' => 'ABC'); print 'using the array-syntax for attributesToString()<br>'; print htmlentities(XML_Util::attributesToString($atts, array('entities' => XML_UTIL_ENTITIES_NONE))); print "\n<br><br>\n"; ?> lsphp81-pear/Archive_Tar/docs/Archive_Tar.txt 0000644 00000045246 15035214013 0015044 0 ustar 00 Documentation for class Archive_Tar =================================== Last update : 2001-08-15 Overview : ---------- The Archive_Tar class helps in creating and managing GNU TAR format files compressed by GNU ZIP or not. The class offers basic functions like creating an archive, adding files in the archive, extracting files from the archive and listing the archive content. It also provide advanced functions that allow the adding and extraction of files with path manipulation. Sample : -------- // ----- Creating the object (uncompressed archive) $tar_object = new Archive_Tar("tarname.tar"); $tar_object->setErrorHandling(PEAR_ERROR_PRINT); // ----- Creating the archive $v_list[0]="file.txt"; $v_list[1]="data/"; $v_list[2]="file.log"; $tar_object->create($v_list); // ----- Adding files $v_list[0]="dev/file.txt"; $v_list[1]="dev/data/"; $v_list[2]="log/file.log"; $tar_object->add($v_list); // ----- Adding more files $tar_object->add("release/newfile.log release/readme.txt"); // ----- Listing the content if (($v_list = $tar_object->listContent()) != 0) for ($i=0; $i<sizeof($v_list); $i++) { echo "Filename :'".$v_list[$i][filename]."'<br>"; echo " .size :'".$v_list[$i][size]."'<br>"; echo " .mtime :'".$v_list[$i][mtime]."' (".date("l dS of F Y h:i:s A", $v_list[$i][mtime]).")<br>"; echo " .mode :'".$v_list[$i][mode]."'<br>"; echo " .uid :'".$v_list[$i][uid]."'<br>"; echo " .gid :'".$v_list[$i][gid]."'<br>"; echo " .typeflag :'".$v_list[$i][typeflag]."'<br>"; } // ----- Extracting the archive in directory "install" $tar_object->extract("install"); Public arguments : ------------------ None Public Methods : ---------------- Method : Archive_Tar($p_tarname, $compress = null) Description : Archive_Tar Class constructor. This flavour of the constructor only declare a new Archive_Tar object, identifying it by the name of the tar file. If the compress argument is set the tar will be read or created as a gzip or bz2 compressed TAR file. Arguments : $p_tarname : A valid filename for the tar archive file. $p_compress : can be null, 'gz' or 'bz2'. For compatibility reason it can also be true. This parameter indicates if gzip or bz2 compression is required. Return value : The Archive_Tar object. Sample : $tar_object = new Archive_Tar("tarname.tar"); $tar_object_compressed = new Archive_Tar("tarname.tgz", true); How it works : Initialize the object. Method : create($p_filelist) Description : This method creates the archive file and add the files / directories that are listed in $p_filelist. If the file already exists and is writable, it is replaced by the new tar. It is a create and not an add. If the file exists and is read-only or is a directory it is not replaced. The method return false and a PEAR error text. The $p_filelist parameter can be an array of string, each string representing a filename or a directory name with their path if needed. It can also be a single string with names separated by a single blank. See also createModify() method for more details. Arguments : $p_filelist : An array of filenames and directory names, or a single string with names separated by a single blank space. Return value : true on success, false on error. Sample 1 : $tar_object = new Archive_Tar("tarname.tar"); $tar_object->setErrorHandling(PEAR_ERROR_PRINT); // Optional error handling $v_list[0]="file.txt"; $v_list[1]="data/"; (Optional '/' at the end) $v_list[2]="file.log"; $tar_object->create($v_list); Sample 2 : $tar_object = new Archive_Tar("tarname.tar"); $tar_object->setErrorHandling(PEAR_ERROR_PRINT); // Optional error handling $tar_object->create("file.txt data/ file.log"); How it works : Just calling the createModify() method with the right parameters. Method : createModify($p_filelist, $p_add_dir, $p_remove_dir = "") Description : This method creates the archive file and add the files / directories that are listed in $p_filelist. If the file already exists and is writable, it is replaced by the new tar. It is a create and not an add. If the file exists and is read-only or is a directory it is not replaced. The method return false and a PEAR error text. The $p_filelist parameter can be an array of string, each string representing a filename or a directory name with their path if needed. It can also be a single string with names separated by a single blank. The path indicated in $p_remove_dir will be removed from the memorized path of each file / directory listed when this path exists. By default nothing is removed (empty path "") The path indicated in $p_add_dir will be added at the beginning of the memorized path of each file / directory listed. However it can be set to empty "". The adding of a path is done after the removing of path. The path add/remove ability enables the user to prepare an archive for extraction in a different path than the origin files are. See also addModify() method for file adding properties. Arguments : $p_filelist : An array of filenames and directory names, or a single string with names separated by a single blank space. $p_add_dir : A string which contains a path to be added to the memorized path of each element in the list. $p_remove_dir : A string which contains a path to be removed from the memorized path of each element in the list, when relevant. Return value : true on success, false on error. Sample 1 : $tar_object = new Archive_Tar("tarname.tar"); $tar_object->setErrorHandling(PEAR_ERROR_PRINT); // Optional error handling $v_list[0]="file.txt"; $v_list[1]="data/"; (Optional '/' at the end) $v_list[2]="file.log"; $tar_object->createModify($v_list, "install"); // files are stored in the archive as : // install/file.txt // install/data // install/data/file1.txt // install/data/... all the files and sub-dirs of data/ // install/file.log Sample 2 : $tar_object = new Archive_Tar("tarname.tar"); $tar_object->setErrorHandling(PEAR_ERROR_PRINT); // Optional error handling $v_list[0]="dev/file.txt"; $v_list[1]="dev/data/"; (Optional '/' at the end) $v_list[2]="log/file.log"; $tar_object->createModify($v_list, "install", "dev"); // files are stored in the archive as : // install/file.txt // install/data // install/data/file1.txt // install/data/... all the files and sub-dirs of data/ // install/log/file.log How it works : Open the file in write mode (erasing the existing one if one), call the _addList() method for adding the files in an empty archive, add the tar footer (512 bytes block), close the tar file. Method : addModify($p_filelist, $p_add_dir, $p_remove_dir="") Description : This method add the files / directories listed in $p_filelist at the end of the existing archive. If the archive does not yet exists it is created. The $p_filelist parameter can be an array of string, each string representing a filename or a directory name with their path if needed. It can also be a single string with names separated by a single blank. The path indicated in $p_remove_dir will be removed from the memorized path of each file / directory listed when this path exists. By default nothing is removed (empty path "") The path indicated in $p_add_dir will be added at the beginning of the memorized path of each file / directory listed. However it can be set to empty "". The adding of a path is done after the removing of path. The path add/remove ability enables the user to prepare an archive for extraction in a different path than the origin files are. If a file/dir is already in the archive it will only be added at the end of the archive. There is no update of the existing archived file/dir. However while extracting the archive, the last file will replace the first one. This results in a none optimization of the archive size. If a file/dir does not exist the file/dir is ignored. However an error text is send to PEAR error. If a file/dir is not readable the file/dir is ignored. However an error text is send to PEAR error. If the resulting filename/dirname (after the add/remove option or not) string is greater than 99 char, the file/dir is ignored. However an error text is send to PEAR error. Arguments : $p_filelist : An array of filenames and directory names, or a single string with names separated by a single blank space. $p_add_dir : A string which contains a path to be added to the memorized path of each element in the list. $p_remove_dir : A string which contains a path to be removed from the memorized path of each element in the list, when relevant. Return value : true on success, false on error. Sample 1 : $tar_object = new Archive_Tar("tarname.tar"); [...] $v_list[0]="dev/file.txt"; $v_list[1]="dev/data/"; (Optional '/' at the end) $v_list[2]="log/file.log"; $tar_object->addModify($v_list, "install"); // files are stored in the archive as : // install/file.txt // install/data // install/data/file1.txt // install/data/... all the files and sub-dirs of data/ // install/file.log Sample 2 : $tar_object = new Archive_Tar("tarname.tar"); [...] $v_list[0]="dev/file.txt"; $v_list[1]="dev/data/"; (Optional '/' at the end) $v_list[2]="log/file.log"; $tar_object->addModify($v_list, "install", "dev"); // files are stored in the archive as : // install/file.txt // install/data // install/data/file1.txt // install/data/... all the files and sub-dirs of data/ // install/log/file.log How it works : If the archive does not exists it create it and add the files. If the archive does exists and is not compressed, it open it, jump before the last empty 512 bytes block (tar footer) and add the files at this point. If the archive does exists and is compressed, a temporary copy file is created. This temporary file is then 'gzip' read block by block until the last empty block. The new files are then added in the compressed file. The adding of files is done by going through the file/dir list, adding files per files, in a recursive way through the directory. Each time a path need to be added/removed it is done before writing the file header in the archive. Method : add($p_filelist) Description : This method add the files / directories listed in $p_filelist at the end of the existing archive. If the archive does not yet exists it is created. The $p_filelist parameter can be an array of string, each string representing a filename or a directory name with their path if needed. It can also be a single string with names separated by a single blank. See addModify() method for details and limitations. Arguments : $p_filelist : An array of filenames and directory names, or a single string with names separated by a single blank space. Return value : true on success, false on error. Sample 1 : $tar_object = new Archive_Tar("tarname.tar"); [...] $v_list[0]="dev/file.txt"; $v_list[1]="dev/data/"; (Optional '/' at the end) $v_list[2]="log/file.log"; $tar_object->add($v_list); Sample 2 : $tar_object = new Archive_Tar("tarname.tgz", true); [...] $v_list[0]="dev/file.txt"; $v_list[1]="dev/data/"; (Optional '/' at the end) $v_list[2]="log/file.log"; $tar_object->add($v_list); How it works : Simply call the addModify() method with the right parameters. Method : addString($p_filename, $p_string, $p_datetime, $p_params) Description : This method add a single string as a file at the end of the existing archive. If the archive does not yet exists it is created. Arguments : $p_filename : A string which contains the full filename path that will be associated with the string. $p_string : The content of the file added in the archive. $p_datetime : (Optional) Timestamp of the file (default = now) $p_params : (Optional) Various file metadata: stamp - As above, timestamp of the file mode - UNIX-style permissions (default 0600) type - Is this a regular file or link (see TAR format spec for how to create a hard/symlink) uid - UNIX-style user ID (default 0 = root) gid - UNIX-style group ID (default 0 = root) Return value : true on success, false on error. Sample 1 : $v_archive = & new Archive_Tar($p_filename); $v_archive->setErrorHandling(PEAR_ERROR_PRINT); $v_result = $v_archive->addString('data/test.txt', 'This is the text of the string'); $v_result = $v_archive->addString( 'data/test.sh', "#!/bin/sh\necho 'Hello'", time(), array( "mode" => 0755, "uid" => 34 ) ); Method : extract($p_path = "") Description : This method extract all the content of the archive in the directory indicated by $p_path.If $p_path is optional, if not set the archive is extracted in the current directory. While extracting a file, if the directory path does not exists it is created. See extractModify() for details and limitations. Arguments : $p_path : Optional path where the files/dir need to by extracted. Return value : true on success, false on error. Sample : $tar_object = new Archive_Tar("tarname.tar"); $tar_object->extract(); How it works : Simply call the extractModify() method with appropriate parameters. Method : extractModify($p_path, $p_remove_path) Description : This method extract all the content of the archive in the directory indicated by $p_path. When relevant the memorized path of the files/dir can be modified by removing the $p_remove_path path at the beginning of the file/dir path. While extracting a file, if the directory path does not exists it is created. While extracting a file, if the file already exists it is replaced without looking for last modification date. While extracting a file, if the file already exists and is write protected, the extraction is aborted. While extracting a file, if a directory with the same name already exists, the extraction is aborted. While extracting a directory, if a file with the same name already exists, the extraction is aborted. While extracting a file/directory if the destination directory exist and is write protected, or does not exist but can not be created, the extraction is aborted. If after extraction an extracted file does not show the correct stored file size, the extraction is aborted. When the extraction is aborted, a PEAR error text is set and false is returned. However the result can be a partial extraction that may need to be manually cleaned. Arguments : $p_path : The path of the directory where the files/dir need to by extracted. $p_remove_path : Part of the memorized path that can be removed if present at the beginning of the file/dir path. Return value : true on success, false on error. Sample : // Imagine tarname.tar with files : // dev/data/file.txt // dev/data/log.txt // readme.txt $tar_object = new Archive_Tar("tarname.tar"); $tar_object->extractModify("install", "dev"); // Files will be extracted there : // install/data/file.txt // install/data/log.txt // install/readme.txt How it works : Open the archive and call a more generic function that can extract only a part of the archive or all the archive. See extractList() method for more details. Method : extractInString($p_filename) Description : This method extract from the archive one file identified by $p_filename. The return value is a string with the file content, or NULL on error. Arguments : $p_filename : The path of the file to extract in a string. Return value : a string with the file content or NULL. Sample : // Imagine tarname.tar with files : // dev/data/file.txt // dev/data/log.txt // dev/readme.txt $v_archive = & new Archive_Tar('tarname.tar'); $v_archive->setErrorHandling(PEAR_ERROR_PRINT); $v_string = $v_archive->extractInString('dev/readme.txt'); echo $v_string; Method : listContent() Description : This method returns an array of arrays that describe each file/directory present in the archive. The array is not sorted, so it show the position of the file in the archive. The file informations are : $file[filename] : Name and path of the file/dir. $file[mode] : File permissions (result of fileperms()) $file[uid] : user id $file[gid] : group id $file[size] : filesize $file[mtime] : Last modification time (result of filemtime()) $file[typeflag] : "" for file, "5" for directory Arguments : Return value : An array of arrays or 0 on error. Sample : $tar_object = new Archive_Tar("tarname.tar"); if (($v_list = $tar_object->listContent()) != 0) for ($i=0; $i<sizeof($v_list); $i++) { echo "Filename :'".$v_list[$i][filename]."'<br>"; echo " .size :'".$v_list[$i][size]."'<br>"; echo " .mtime :'".$v_list[$i][mtime]."' (". date("l dS of F Y h:i:s A", $v_list[$i][mtime]).")<br>"; echo " .mode :'".$v_list[$i][mode]."'<br>"; echo " .uid :'".$v_list[$i][uid]."'<br>"; echo " .gid :'".$v_list[$i][gid]."'<br>"; echo " .typeflag :'".$v_list[$i][typeflag]."'<br>"; } How it works : Call the same function as an extract however with a flag to only go through the archive without extracting the files. Method : extractList($p_filelist, $p_path = "", $p_remove_path = "") Description : This method extract from the archive only the files indicated in the $p_filelist. These files are extracted in the current directory or in the directory indicated by the optional $p_path parameter. If indicated the $p_remove_path can be used in the same way as it is used in extractModify() method. Arguments : $p_filelist : An array of filenames and directory names, or a single string with names separated by a single blank space. $p_path : The path of the directory where the files/dir need to by extracted. $p_remove_path : Part of the memorized path that can be removed if present at the beginning of the file/dir path. Return value : true on success, false on error. Sample : // Imagine tarname.tar with files : // dev/data/file.txt // dev/data/log.txt // readme.txt $tar_object = new Archive_Tar("tarname.tar"); $tar_object->extractList("dev/data/file.txt readme.txt", "install", "dev"); // Files will be extracted there : // install/data/file.txt // install/readme.txt How it works : Go through the archive and extract only the files present in the list. lsphp81-pear/PEAR_package2.xml 0000644 00000167415 15035214013 0012006 0 ustar 00 <?xml version="1.0" encoding="UTF-8"?> <package packagerversion="1.10.14" 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> <description>The PEAR package contains: * the PEAR installer, for creating, distributing and installing packages * the PEAR_Exception PHP5 error handling mechanism * the PEAR_ErrorStack advanced error handling mechanism * the PEAR_Error error handling mechanism * the OS_Guess class for retrieving info about the OS where PHP is running on * the System class for quick handling of common operations with files and directories * the PEAR base class Features in a nutshell: * full support for channels * pre-download dependency validation * new package.xml 2.0 format allows tremendous flexibility while maintaining BC * support for optional dependency groups and limited support for sub-packaging * robust dependency support * full dependency validation on uninstall * remote install for hosts with only ftp access - no more problems with restricted host installation * full support for mirroring * support for bundling several packages into a single tarball * support for static dependencies on a url-based package * support for custom file roles and installation tasks</description> <lead> <name>Greg Beaver</name> <user>cellog</user> <email>cellog@php.net</email> <active>no</active> </lead> <lead> <name>Pierre-Alain Joye</name> <user>pajoye</user> <email>pierre@php.net</email> <active>no</active> </lead> <lead> <name>Stig Bakken</name> <user>ssb</user> <email>stig@php.net</email> <active>no</active> </lead> <lead> <name>Tomas V.V.Cox</name> <user>cox</user> <email>cox@idecnet.com</email> <active>no</active> </lead> <lead> <name>Helgi Thormar</name> <user>dufuz</user> <email>dufuz@php.net</email> <active>no</active> </lead> <lead> <name>Christian Weiske</name> <user>cweiske</user> <email>cweiske@php.net</email> <active>no</active> </lead> <lead> <name>Chuck Burgess</name> <user>ashnazg</user> <email>ashnazg@php.net</email> <active>yes</active> </lead> <developer> <name>Tias Guns</name> <user>tias</user> <email>tias@php.net</email> <active>no</active> </developer> <helper> <name>Tim Jackson</name> <user>timj</user> <email>timj@php.net</email> <active>no</active> </helper> <helper> <name>Bertrand Gugger</name> <user>toggg</user> <email>toggg@php.net</email> <active>no</active> </helper> <helper> <name>Martin Jansen</name> <user>mj</user> <email>mj@php.net</email> <active>no</active> </helper> <date>2024-03-09</date> <time>19:35:30</time> <version> <release>1.10.15</release> <api>1.10.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> * PR #132: cleanup uneeded test * PR #135: Fix PHP Deprecated: Calling get_class() without arguments </notes> <contents> <dir name="/"> <file md5sum="cdd23cf3b1966c311f8f6b023dd19a29" name="OS/Guess.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="79f5e59337859882e6a9adff5eaefc00" 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="163665fe7fe430698a81c50d75060eba" name="PEAR/Command/Auth.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="ce6bb5b6fdc02e0f50e7676403fd84a4" name="PEAR/Command/Build.xml" role="php" /> <file md5sum="454c19ffc008cafaef7e2a0aa72dfc64" 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="12446ee0f922a36943bb9a7fd85fe19f" name="PEAR/Command/Channels.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="8ec92d6f671b61b07476113dda0904f3" 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="df82189d1287477ff3d9214cc51baf9b" name="PEAR/Command/Config.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="24d05213cae7faa3880bbb5e40998867" name="PEAR/Command/Install.xml" role="php" /> <file md5sum="9098c9c1dc68fa8bd8fa9d147af3bdee" 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="8e8160506ae62dd32a5e3ee6acc95cae" name="PEAR/Command/Mirror.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="9367dcd7e4dbdde423f9c4c7d3f3a919" name="PEAR/Command/Package.xml" role="php" /> <file md5sum="57521ff1e89bcd23a853134f30836990" 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="8187ce349050d4f922dfa64aceefbbfd" 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="9af39b4169b4ca86030d876d73184f12" 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="54db7acc105a9d5e3f8434f6e4d359e8" 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="f183caa7c35110668aaf79912308d1d9" name="PEAR/Command/Test.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="7c6107c66b615131d4ff51e81e73a5fa" name="PEAR/Downloader/Package.php" role="php"> <tasks:replace from="@PEAR-VER@" to="version" type="package-info" /> </file> <file md5sum="c29d32ed5c4ad127119a5152bdf56a3a" name="PEAR/Frontend/CLI.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="4f137bd6514db85dff52fbae159c4557" 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="75de4b19387fc0a6e970c63b2ec3ef39" 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="482f7abf98ef2bcd85535231fa2a31f8" 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="29d40033760be50a4be2a97fc8f8dc90" 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="835dbe1fef5e0ecc67e05968e30e0d88" name="PEAR/Installer/Role/Ext.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="da6743f1e45cce72ea13aef5cdb14867" name="PEAR/Installer/Role/Man.xml" role="php" /> <file md5sum="44e16c991998e38169057069438a1727" name="PEAR/Installer/Role/Man.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="f6bd58535e48a00d0252bfc507124687" 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="d1c579fcbfbb689b2cf0d43663910f51" 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="f929eada72d28f5097ff709dcfb80c88" 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="b885b9dfec66d6fa8ce2cd6ee8947363" 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="450e632a6a784d75e3aa289854a2b50b" name="PEAR/Installer/Role/Www.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="7be640d89eba3c35eb3157c75df41b94" name="PEAR/Installer/Role.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="e6f1886a156a809742122f36c1375baa" name="PEAR/PackageFile/Generator/v1.php" role="php"> <tasks:replace from="@PEAR-VER@" to="version" type="package-info" /> </file> <file md5sum="af3eea0c582498d42bc82ecba7dd6754" name="PEAR/PackageFile/Generator/v2.php" role="php"> <tasks:replace from="@PEAR-VER@" to="version" type="package-info" /> </file> <file md5sum="a2206e0e32ad2ba2f4e2a0c1797f295c" name="PEAR/PackageFile/Parser/v1.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="3857f4b60878d64551a7cdae783437f7" name="PEAR/PackageFile/Parser/v2.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="f7b6880c3bdbdb32a4abd69024f95ae4" name="PEAR/PackageFile/v2/rw.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="51211ebd580fe5c44b78529163d401d4" name="PEAR/PackageFile/v2/Validator.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="0460cc4370d62c6693b2bb004c7793cf" name="PEAR/PackageFile/v1.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="c758c6829c6151e97b47add281ff0920" name="PEAR/PackageFile/v2.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="1252f8d84fe03a52e6d0a940217379b2" name="PEAR/REST/10.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="ab3b6d4fe73bdf56fb6b298d65b9ba92" name="PEAR/REST/11.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="8922d6538d78c5c38bfa53a262a3374c" name="PEAR/REST/13.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="4d387d099b7973d1ab9f9afe4ebad9e9" name="PEAR/Task/Postinstallscript/rw.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="215c9b16cbec063bd6f0ec4bef0fc2f5" name="PEAR/Task/Replace/rw.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="1280e2e6e677d1994907c7f9ee5af613" name="PEAR/Task/Unixeol/rw.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="f30e64b15bca69826b16cf08d6c49e5b" name="PEAR/Task/Windowseol/rw.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="2ca9679f11df15238c80576cf62232c8" name="PEAR/Task/Common.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="9f36f0be56024aa70037f6c8f4eee8e5" name="PEAR/Task/Postinstallscript.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="849acf22b0ef1421d17b71696540b7dd" name="PEAR/Task/Replace.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="8c448682e1416be3a6a474f13917b665" name="PEAR/Task/Unixeol.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="63c5bb240e6aa2d58e9ea5931726bcdf" name="PEAR/Task/Windowseol.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="221d5c0ff4163445c6c2cc8a2a10e7eb" name="PEAR/Validator/PECL.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="585d6ed3faad687c620f87e0ff220e13" name="PEAR/Builder.php" role="php"> <tasks:replace from="@PEAR-VER@" to="version" type="package-info" /> </file> <file md5sum="c0913dbde9babc5d6198de8a75c2984e" name="PEAR/ChannelFile.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="471d665cfb1afa5be821a2a26b6b36a6" name="PEAR/Command.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="de3a68cad0403a53ba2dbfdb77e822d1" name="PEAR/Common.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="c2ba89c2f9869a9259dcf9907018cc2f" name="PEAR/Config.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="dea308b202f6e338ff55bad224ca60bc" name="PEAR/DependencyDB.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="60bf17a6a7c94ddf177e1acaeb01a76f" name="PEAR/Dependency2.php" role="php"> <tasks:replace from="@PEAR-VER@" to="version" type="package-info" /> </file> <file md5sum="390deb59b936e26043fe01c4aadf6ca9" name="PEAR/Downloader.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="829d8a4d944cad5f3d63025ec9d46984" name="PEAR/ErrorStack.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="7ca02155d74ea58a447daa5508d0eed0" name="PEAR/Exception.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="70693801db820a7a7e1402bcc85c4373" name="PEAR/Frontend.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="93086292aadbf0780c88e5ffe4770c7d" name="PEAR/Installer.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="eb3ea24216062dedf72b475d74a4147a" name="PEAR/PackageFile.php" role="php"> <tasks:replace from="@PEAR-VER@" to="version" type="package-info" /> </file> <file md5sum="d1c354c68ddee002ceab721adf95d166" name="PEAR/Packager.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="ef9d00adaeccff7516f08170096026d3" name="PEAR/Proxy.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="f07a4ede69ede88fcf26a21a86fd79b5" name="PEAR/Registry.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="da86887a31bbfd70e7eaaecd1404d7e4" name="PEAR/REST.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="ae8bff6003d030ade3f0612b1ded6a16" name="PEAR/RunTest.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="e734c685b6f3a552eb96353392d9e83a" name="PEAR/Validate.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="92e42fe4d91be2ac8b68238c657fe9a4" name="PEAR/XMLParser.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file baseinstalldir="/" md5sum="d888d06143e3cac0dae78bbb2e761366" 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="17d7d08ce2c6c476eeaae4763f69efcc" 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="1c5819d67da59739e6298d6094c58f7b" 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" /> <tasks:windowseol /> </file> <file baseinstalldir="/" md5sum="8ac139504e80bede470aef6d405100b6" name="scripts/pear.sh" role="script"> <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" /> <tasks:replace from="@include_path@" to="php_dir" type="pear-config" /> <tasks:unixeol /> </file> <file baseinstalldir="/" md5sum="08ea03525b4ba914dfd9ec69c4238cf4" name="scripts/peardev.sh" role="script"> <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" /> <tasks:replace from="@include_path@" to="php_dir" type="pear-config" /> <tasks:unixeol /> </file> <file baseinstalldir="/" md5sum="bde09b17fa816d58bb136375a13119c3" name="scripts/pecl.sh" role="script"> <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" /> <tasks:replace from="@include_path@" to="php_dir" type="pear-config" /> <tasks:unixeol /> </file> <file baseinstalldir="/" md5sum="48406c29b809e620db89908af4e7e658" 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" /> <tasks:replace from="@include_path@" to="php_dir" type="pear-config" /> </file> <file baseinstalldir="/" md5sum="48867dfbb41f2532d034f56a79565893" name="scripts/peclcmd.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" /> <tasks:replace from="@include_path@" to="php_dir" type="pear-config" /> </file> <file md5sum="45b44486d8090de17b2a8b4211fab247" name="LICENSE" role="doc" /> <file md5sum="eaac3d33068c6e67573ed44155b149ae" name="INSTALL" role="doc" /> <file md5sum="69341ea97af9c88956568f8e7e41d4c6" name="package.dtd" role="data" /> <file md5sum="802caa28f3314c72cfd643899fababdf" name="PEAR.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="cd10521cc4054923a3d2b6e15b4df493" name="README.rst" role="doc" /> <file md5sum="4cf09f71f3d2715fc05fc96f9ccf2343" name="System.php" role="php"> <tasks:replace from="@package_version@" to="version" type="package-info" /> </file> <file md5sum="acd010e3bc43c0f72df584acde7b9158" name="template.spec" role="data" /> </dir> </contents> <dependencies> <required> <php> <min>5.4.0</min> </php> <pearinstaller> <min>1.10.1</min> </pearinstaller> <package> <name>Archive_Tar</name> <channel>pear.php.net</channel> <min>1.4.9</min> <recommended>1.4.4</recommended> </package> <package> <name>Structures_Graph</name> <channel>pear.php.net</channel> <min>1.1.0</min> <recommended>1.1.1</recommended> </package> <package> <name>Console_Getopt</name> <channel>pear.php.net</channel> <min>1.4.1</min> <recommended>1.4.3</recommended> </package> <package> <name>XML_Util</name> <channel>pear.php.net</channel> <min>1.4.0</min> <recommended>1.4.5</recommended> </package> <extension> <name>xml</name> </extension> <extension> <name>pcre</name> </extension> </required> <group hint="PEAR's web-based installer" name="webinstaller"> <package> <name>PEAR_Frontend_Web</name> <channel>pear.php.net</channel> <min>0.5.1</min> </package> </group> <group hint="PEAR's PHP-GTK-based installer" name="gtkinstaller"> <package> <name>PEAR_Frontend_Gtk</name> <channel>pear.php.net</channel> <min>0.4.0</min> </package> </group> <group hint="PEAR's PHP-GTK2-based installer" name="gtk2installer"> <package> <name>PEAR_Frontend_Gtk2</name> <channel>pear.php.net</channel> </package> </group> </dependencies> <phprelease> <installconditions> <os> <name>windows</name> </os> </installconditions> <filelist> <install as="pear.bat" name="scripts/pear.bat" /> <install as="peardev.bat" name="scripts/peardev.bat" /> <install as="pecl.bat" name="scripts/pecl.bat" /> <install as="pearcmd.php" name="scripts/pearcmd.php" /> <install as="peclcmd.php" name="scripts/peclcmd.php" /> <ignore name="scripts/peardev.sh" /> <ignore name="scripts/pear.sh" /> <ignore name="scripts/pecl.sh" /> </filelist> </phprelease> <phprelease> <filelist> <install as="pear" name="scripts/pear.sh" /> <install as="peardev" name="scripts/peardev.sh" /> <install as="pecl" name="scripts/pecl.sh" /> <install as="pearcmd.php" name="scripts/pearcmd.php" /> <install as="peclcmd.php" name="scripts/peclcmd.php" /> <ignore name="scripts/pear.bat" /> <ignore name="scripts/peardev.bat" /> <ignore name="scripts/pecl.bat" /> </filelist> </phprelease> <changelog> <release> <version> <release>1.8.0alpha1</release> <api>1.8.0</api> </version> <stability> <release>alpha</release> <api>stable</api> </stability> <date>2009-03-09</date> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Implement Request #10373: if pref_state=stable and installed package=beta, allow up to latest beta version [dufuz] * Implement Request #10581: login / logout should map to channel-login / channel-logout [dufuz] * Implement Request #10825: Only display the "invalid or missing package file"-error if it makes sense [dufuz] * Implement Request #11170: script to generate Command/[command].xml [dufuz] * Implement Request #11176: improve channel ... has updated its protocols message [dufuz] * Implement Request #12706: pear list -a hard to read [dufuz] * Implement Request #11353: upgrade-all and upgrade commands to upgrade within the same stability level [dufuz] * Implement Request #13015: Add https discovery for channel.xml [dufuz / initial patch by Martin Roos] * Implement Request #13927: install-pear.php should have option to set www_dir [timj] * Implement Request #14324: Make the pear install command behave similar to apt-get [dufuz] * Implement Request #14325: make pear upgrade with no params behave like pear upgrade-all [dufuz] - upgrade-all can be considered deprecated in favor of calling upgrade with no parameters to replicate better what other package managers are doing. upgrade-all will still work as intended. * Implement Request #14504: add a channel parameter support to the upgrade function [dufuz] - Options -c ezc and --channel=ezc got added to upgrade and upgrade-all to allow for channel specific upgrades * Implement Request #14556: install-pear-nozlib.phar should get download_dir config and other options [cweiske] * Implement Request #15566: Add doc.php.net as a default channel [dufuz / saltybeagle] * Fix PHP Bug #43857: --program-suffix not always reflected everywhere [cellog] * Fix PHP Bug #47323: strotime warnings in make install [dufuz] * Fix Bug #13908: pear info command and maintainers inactive not mentioned [dufuz] * Fix Bug #13926: install-pear.php does not set cfg_dir if -d option set with no -c option [timj] * Fix Bug #13943: tests fail when php.exe path contains spaces [dufuz / jorrit] * Fix Bug #13953: config-set/config-show with channel alias fail [cellog] * Fix Bug #13958: When a phpt tests exit() or die() xdebug coverage is not generated, patch by izi (David Jean Louis) [izi / dufuz] * Fix Bug #14041: Unpredictable unit test processing sequence [dufuz] * Fix Bug #14140: Strict warning not suppressed in the shutdown function [dufuz] * Fix Bug #14210: pear list -ia brings warnings [dufuz] * Fix Bug #14274: PEAR packager mangles package.xml encoding, then complains about it [dufuz] * Fix Bug #14287: cannot upgrade from stable to beta via -beta when config is set to stable [dufuz] * Fix Bug #14300: Package files themselves can not be served over https [dufuz / initial patch by Martin Roos] * Fix Bug #14437: openbasedir warning when loading config [dufuz] * Fix Bug #14558: PackageFile.php creates tmp directory outside configured temp_dir [cweiske] * Fix Bug #14947: downloadHttp() is missing Host part of the HTTP Request when using Proxy [ifeghali] * Fix Bug #14977: PEAR/Frontend.php doesn't require_once PEAR.php [dufuz] * Fix Bug #15750: Unreachable code in PEAR_Downloader [dufuz] * Fix Bug #15979: Package files incorrectly removed when splitting a package into multiple pkgs [dufuz] * Fix Bug #15914: pear upgrade installs different version if desired version not found [dufuz] NOTE! Functions that have been deprecated for 3+ years in PEAR_Common, please take a moment to migrate over to one of the alternatives that have ben provided: * PEAR_Common->downloadHttp (use PEAR_Downloader->downloadHttp instead) * PEAR_Common->infoFromTgzFile (use PEAR_PackageFile->fromTgzFile instead) * PEAR_Common->infoFromDescriptionFile (use PEAR_PackageFile->fromPackageFile instead) * PEAR_Common->infoFromString (use PEAR_PackageFile->fromXmlstring instead) * PEAR_Common->infoFromArray (use PEAR_PackageFile->fromAnyFile instead) * PEAR_Common->xmlFromInfo (use a PEAR_PackageFile_v* object's generator instead) * PEAR_Common->validatePackageInfo (use the validation of PEAR_PackageFile objects) * PEAR_Common->analyzeSourceCode (use a PEAR_PackageFile_v* object instead) * PEAR_Common->detectDependencies (use PEAR_Downloader_Package->detectDependencies instead) * PEAR_Common->buildProvidesArray (use PEAR_PackageFile_v1->_buildProvidesArray or PEAR_PackageFile_v2_Validator->_buildProvidesArray) PHP 4.4 and 5.1.6 are now the minimum PHP requirements, for brave souls pear upgrade -f PEAR will allow people with lower versions to upgrade to this release but no guarantees will be made that it will work properly. Support for XML RPC channels has been dropped - The only ones that used it (pear.php.net and pecl.php.net) have used the REST interface for years now. SOAP support also removed as it was only proof of concept. Move codebase from the PHP License to New BSD 2 clause license </notes> </release> <release> <date>2009-03-27</date> <version> <release>1.8.0RC1</release> <api>1.8.0</api> </version> <stability> <release>beta</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #14331: pear cvstag only works from inside the package directory [dufuz] * Fix Bug #16045: E_Notice: Undefined index: channel in PEAR/DependencyDB.php [dufuz] * Implemented Request #11230: better error message when mirror not in channel.xml file [dufuz] * Implemented Request #13150: Add support for following HTTP 302 redirects [dufuz] </notes> </release> <release> <date>2009-04-10</date> <version> <release>1.8.0</release> <api>1.8.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> Changes since RC1: * Fix Bug #14792: Bad md5sum for files with replaced content [dufuz] * Fix Bug #16057:-r is limited to 4 directories in depth [dufuz] * Fix Bug #16077: PEAR5::getStaticProperty does not return a reference to the property [dufuz] Remove custom XML_Util class in favor of using upstream XML_Util package as dependency RC1 Release Notes: * Fix Bug #14331: pear cvstag only works from inside the package directory [dufuz] * Fix Bug #16045: E_Notice: Undefined index: channel in PEAR/DependencyDB.php [dufuz] * Implemented Request #11230: better error message when mirror not in channel.xml file [dufuz] * Implemented Request #13150: Add support for following HTTP 302 redirects [dufuz] Alpha1 Release Notes: * Implement Request #10373: if pref_state=stable and installed package=beta, allow up to latest beta version [dufuz] * Implement Request #10581: login / logout should map to channel-login / channel-logout [dufuz] * Implement Request #10825: Only display the "invalid or missing package file"-error if it makes sense [dufuz] * Implement Request #11170: script to generate Command/[command].xml [dufuz] * Implement Request #11176: improve channel ... has updated its protocols message [dufuz] * Implement Request #12706: pear list -a hard to read [dufuz] * Implement Request #11353: upgrade-all and upgrade commands to upgrade within the same stability level [dufuz] * Implement Request #13015: Add https discovery for channel.xml [dufuz / initial patch by Martin Roos] * Implement Request #13927: install-pear.php should have option to set www_dir [timj] * Implement Request #14324: Make the pear install command behave similar to apt-get [dufuz] * Implement Request #14325: make pear upgrade with no params behave like pear upgrade-all [dufuz] - upgrade-all can be considered deprecated in favor of calling upgrade with no parameters to replicate better what other package managers are doing. upgrade-all will still work as intended. * Implement Request #14504: add a channel parameter support to the upgrade function [dufuz] - Options -c ezc and --channel=ezc got added to upgrade and upgrade-all to allow for channel specific upgrades * Implement Request #14556: install-pear-nozlib.phar should get download_dir config and other options [cweiske] * Implement Request #15566: Add doc.php.net as a default channel [dufuz / saltybeagle] * Fix PHP Bug #43857: --program-suffix not always reflected everywhere [cellog] * Fix PHP Bug #47323: strotime warnings in make install [dufuz] * Fix Bug #13908: pear info command and maintainers inactive not mentioned [dufuz] * Fix Bug #13926: install-pear.php does not set cfg_dir if -d option set with no -c option [timj] * Fix Bug #13943: tests fail when php.exe path contains spaces [dufuz / jorrit] * Fix Bug #13953: config-set/config-show with channel alias fail [cellog] * Fix Bug #13958: When a phpt tests exit() or die() xdebug coverage is not generated, patch by izi (David Jean Louis) [izi / dufuz] * Fix Bug #14041: Unpredictable unit test processing sequence [dufuz] * Fix Bug #14140: Strict warning not suppressed in the shutdown function [dufuz] * Fix Bug #14210: pear list -ia brings warnings [dufuz] * Fix Bug #14274: PEAR packager mangles package.xml encoding, then complains about it [dufuz] * Fix Bug #14287: cannot upgrade from stable to beta via -beta when config is set to stable [dufuz] * Fix Bug #14300: Package files themselves can not be served over https [dufuz / initial patch by Martin Roos] * Fix Bug #14437: openbasedir warning when loading config [dufuz] * Fix Bug #14558: PackageFile.php creates tmp directory outside configured temp_dir [cweiske] * Fix Bug #14947: downloadHttp() is missing Host part of the HTTP Request when using Proxy [ifeghali] * Fix Bug #14977: PEAR/Frontend.php doesn't require_once PEAR.php [dufuz] * Fix Bug #15750: Unreachable code in PEAR_Downloader [dufuz] * Fix Bug #15979: Package files incorrectly removed when splitting a package into multiple pkgs [dufuz] * Fix Bug #15914: pear upgrade installs different version if desired version not found [dufuz] NOTE! Functions that have been deprecated for 3+ years in PEAR_Common, please take a moment to migrate over to one of the alternatives that have ben provided: * PEAR_Common->downloadHttp (use PEAR_Downloader->downloadHttp instead) * PEAR_Common->infoFromTgzFile (use PEAR_PackageFile->fromTgzFile instead) * PEAR_Common->infoFromDescriptionFile (use PEAR_PackageFile->fromPackageFile instead) * PEAR_Common->infoFromString (use PEAR_PackageFile->fromXmlstring instead) * PEAR_Common->infoFromArray (use PEAR_PackageFile->fromAnyFile instead) * PEAR_Common->xmlFromInfo (use a PEAR_PackageFile_v* object's generator instead) * PEAR_Common->validatePackageInfo (use the validation of PEAR_PackageFile objects) * PEAR_Common->analyzeSourceCode (use a PEAR_PackageFile_v* object instead) * PEAR_Common->detectDependencies (use PEAR_Downloader_Package->detectDependencies instead) * PEAR_Common->buildProvidesArray (use PEAR_PackageFile_v1->_buildProvidesArray or PEAR_PackageFile_v2_Validator->_buildProvidesArray) PHP 4.4 and 5.1.6 are now the minimum PHP requirements, for brave souls pear upgrade -f PEAR will allow people with lower versions to upgrade to this release but no guarantees will be made that it will work properly. Support for XML RPC channels has been dropped - The only ones that used it (pear.php.net and pecl.php.net) have used the REST interface for years now. SOAP support also removed as it was only proof of concept. Move codebase from the PHP License to New BSD 2 clause license </notes> </release> <release> <date>2009-04-15</date> <version> <release>1.8.1</release> <api>1.8.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> * Fix Bug #16099 PEAR crash on PHP4 (parse error) [dufuz] </notes> </release> <release> <date>2009-08-18</date> <version> <release>1.9.0RC1</release> <api>1.9.0RC1</api> </version> <stability> <release>beta</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Implement Request #16213: add alias to list-channels output [dufuz] * Implement Request #16378: pear svntag [dufuz] * Implement Request #16386: PEAR_Config::remove() does not support specifying a channel [timj] * Implement Request #16396: package-dependencies should allow package names [dufuz] * Fix Bug #11181: pear requests channel.xml from main server instead from mirror [dufuz] * Fix Bug #14493: pear install --offline doesn't print out errors [dufuz] * Fix Bug #11348: pear package-dependencies isn't well explained [dufuz] * Fix Bug #16108: PEAR_PackageFile_Generator_v2 PHP4 parse error when running upgrade-all [dufuz] * Fix Bug #16113: Installing certain packages fails due incorrect encoding handling [dufuz] * Fix Bug #16122: PEAR RunTest failed to run as expected [dufuz] * Fix Bug #16366: compiling 5.2.10 leads to non-functioning pear [dufuz] * Fix Bug #16387: channel-logout does not support logging out from a non-default channel [timj] * Fix Bug #16444: Setting preferred mirror fails [dufuz] * Fix the shutdown functions where a index might not exist and thus raise a notice [derick] </notes> </release> <release> <date>2009-08-20</date> <version> <release>1.9.0RC2</release> <api>1.9.0RC2</api> </version> <stability> <release>beta</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * REST 1.4 file was occasionally being included but REST 1.4 is not intended for this release cycle [dufuz] </notes> </release> <release> <date>2009-08-21</date> <version> <release>1.9.0RC3</release> <api>1.9.0RC3</api> </version> <stability> <release>beta</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Improved svntag support to handle packages like PEAR it self [dufuz] </notes> </release> <release> <date>2009-08-23</date> <version> <release>1.9.0RC4</release> <api>1.9.0RC4</api> </version> <stability> <release>beta</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fixed a problem where the original channel could not be set as a preferred_mirror again [dufuz] * Make sure channel aliases can't be made to start with - [dufuz] * Output issues with pear search [dufuz] * Fixed couple of stray notices [dufuz] </notes> </release> <release> <date>2009-09-03</date> <version> <release>1.9.0</release> <api>1.9.0</api> </version> <stability> <release>stable</release> <api>stable</api> </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] </notes> </release> <release> <date>2010-05-26</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] * 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> </release> <release> <date>2011-02-28</date> <time>18:30:00</time> <version> <release>1.9.2</release> <api>1.9.2</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> Important! This is a security fix release. The advisory can be found at http://pear.php.net/advisory-20110228.txt Bugs: * Fixed Bug #17463: Regression: On Windows, svntag [patch by doconnor] * Fixed Bug #17641: pecl-list doesn't sort packages by name [dufuz] * Fixed Bug #17781: invalid argument warning on foreach due to an empty optional dependencie [dufuz] * Fixed Bug #17801: PEAR run-tests wrongly detects php-cgi [patch by David Jean Louis (izi)] * Fixed Bug #17839: pear svntag does not tag package.xml file [dufuz] * Fixed Bug #17986: PEAR Installer cannot handle files moved between packages [dufuz] * Fixed Bug #17997: Strange output if directories are not writeable [dufuz] * Fixed Bug #18001: PEAR/RunTest coverage fails [dufuz] * Fixed Bug #18056 [SECURITY]: Symlink attack in PEAR install [dufuz] * Fixed Bug #18218: "pear package" does not allow the use of late static binding [dufuz and Christer Edvartsen] * Fixed Bug #18238: Wrong return code from "pear help" [till] * Fixed Bug #18308: Broken error message about missing channel validator [yunosh] This feature is implemented as a result of #18056 * Implemented Request #16648: Use TMPDIR for builds instead of /var/tmp [dufuz] </notes> </release> <release> <date>2011-06-04</date> <time>15:30:00</time> <version> <release>1.9.3</release> <api>1.9.2</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fixed Bug #17744: Empty changelog causes fatal error in setChangelogentry [dufuz] * Fixed Bug #18340: raiseErro typo [doconnor] * Fixed Bug #18349: package.xml version not recognized when single quoted [dufuz] * Fixed Bug #18364: date.timezone errors for sh/bat files when TZ is not set in php.ini [dufuz] * Fixed Bug #18388: Parentheses error in REST.php line 232 [dufuz] * Fixed Bug #18428: invalid preg_match patterns [glen] * Fixed Bug #18486: REST/10.php does not check error condition [dufuz] * Fixed a problem in RunTest and code coverage. Correctly register the code coverage shutdown function in case we are inside a namespace. [sebastian] * Fixed a bug with extensions not providing their config.m4 and co in the root directory of their pecl package but rather in a sub directory, such as xhprof. [dufuz] </notes> </release> <release> <date>2011-07-06</date> <time>15:30:00</time> <version> <release>1.9.4</release> <api>1.9.4</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> Bug Fixes: * Bug #17350: "pear install --force" doesn't uninstall files from previous pkg versions [dufuz] * Bug #18362: A whitespace TEMP_DIR path breaks install/upgrade functionality [dufuz] * Bug #18440: bad tmp folder path on install : Unable to create path for C:/Program/tmp [dufuz] * Bug #18581: "config-get -c" not returning channel's configuration when using alias [dufuz] * Bug #18639: regression: installing xdebug fails most likely due to another fix [dufuz] Features * All System (the class) functions can now take in spaced paths as long as they are surrounded in quotes. Prior to this it was possible to do that by passing all values in as an array (by product of #18362, #18440) [dufuz] </notes> </release> <release> <date>2014-06-27</date> <time>18:17:00</time> <version> <release>1.9.5dev1</release> <api>1.9.5</api> </version> <stability> <release>devel</release> <api>devel</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> Bug fixes: * Fix bug #18343: Entities in file names decoded during packaging [cweiske] * Fix bug #18665: pecl extensions not enabled in empty php.ini files [Louis Opter] * Fix bug #18834: Do not truncate cache file if it is a symlink [avb] * Fix bug #18892: Parse error in Installer.php [ashnazg] * Fix bug #19482: fix pearcmd for include paths with trailing backslash [cweiske] * Fix bug #19793: PHP Notice about ob_end_clean() [cweiske] * Fix bug #20086: Invalid regexp in PEAR_Builder::build() [avb] * Fix bug #20203: split content-type and get real mime type [Samu Voutilainen] * Fix bug #20283: use full path for "zend_extension=..." [cweiske] * Fix bug #20284: Reset interpreter before running --CLEAN-- section php-cgi run [Mats Lindh] * Fix bug #20285: fix spelling mistakes [Veres Lajos] * Fix bug #20286: Support access of static variables on objects in validator [cweiske] * Fix bug #20321: Correctly detect name of current user during installation [cweiske] * Fix bug: let pear run-tests fail when there are failed tests [cweiske] * Prepare a test for bug #18056 / bug #18834 [avb] </notes> </release> <release> <date>2014-07-12</date> <time>14:22:23</time> <version> <release>1.9.5</release> <api>1.9.5</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> No changes since 1.9.5.dev1. Bug fixes in 1.9.5.dev1: * Fix bug #18343: Entities in file names decoded during packaging [cweiske] * Fix bug #18665: pecl extensions not enabled in empty php.ini files [Louis Opter] * Fix bug #18834: Do not truncate cache file if it is a symlink [avb] * Fix bug #18892: Parse error in Installer.php [ashnazg] * Fix bug #19482: fix pearcmd for include paths with trailing backslash [cweiske] * Fix bug #19793: PHP Notice about ob_end_clean() [cweiske] * Fix bug #20086: Invalid regexp in PEAR_Builder::build() [avb] * Fix bug #20203: split content-type and get real mime type [Samu Voutilainen] * Fix bug #20283: use full path for "zend_extension=..." [cweiske] * Fix bug #20284: Reset interpreter before running --CLEAN-- section php-cgi run [Mats Lindh] * Fix bug #20285: fix spelling mistakes [Veres Lajos] * Fix bug #20286: Support access of static variables on objects in validator [cweiske] * Fix bug #20321: Correctly detect name of current user during installation [cweiske] * Fix bug: let pear run-tests fail when there are failed tests [cweiske] * Prepare a test for bug #18056 / bug #18834 [avb] </notes> </release> <release> <date>2015-07-25</date> <time>13:42:42</time> <version> <release>1.10.0dev1</release> <api>1.10.0</api> </version> <stability> <release>devel</release> <api>devel</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Implement #20488: Add support for PHP 7 [cweiske] * Drop support for PHP 4 and 5.0 - 5.3 [cweiske] * Remove deprecated methods [cweiske] * Fix static warnings [cweiske] * Fix #17045: avoid overwriting include path [glen] * Fix #17399: "pear help" doesn't mention the "version" command [kguest] * Add --showdiff to "pear run-tests" to print diff for failed tests [tyrael] * Fix channel.xml downloading from https if it did not change [cweiske] </notes> </release> <release> <date>2015-07-31</date> <time>09:42:42</time> <version> <release>1.10.0dev2</release> <api>1.10.0</api> </version> <stability> <release>devel</release> <api>devel</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix #18638 and #18405: Make PEAR::loadExtension static [cweiske] * Fix #20319: allow pear to work when cache_dir is not writable [remicollet] * Implement #20333: New role=man for man pages [bjori] * Implement #20334: add "metadata_dir" configuration option [remicollet] * Add long option names to install-pear.php [remicollet] </notes> </release> <release> <date>2015-09-28</date> <time>09:42:42</time> <version> <release>1.10.0dev3</release> <api>1.10.0</api> </version> <stability> <release>devel</release> <api>devel</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix #20507: pear list-upgrades does not take PHP version into account [cweiske] * Fix #20927: Use correct php-config [cweiske] * Fix #20946: PEAR_Builder::log() declaration [remicollet] * Remove PEAR/ErrorStack5.php [cweiske] </notes> </release> <release> <date>2015-10-07</date> <time>11:22:42</time> <version> <release>1.10.0</release> <api>1.10.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> No changes since version 1.10.0dev3. Changes since version 1.9.5: * Implement #20488: Add support for PHP 7 [cweiske] * Drop support for PHP 4 and 5.0 - 5.3 [cweiske] * Remove deprecated methods [cweiske] * Add --showdiff to "pear run-tests" to print diff for failed tests [tyrael] * Implement #20333: New role=man for man pages [bjori] * Implement #20334: add "metadata_dir" configuration option [remicollet] * Add long option names to install-pear.php [remicollet] * Remove PEAR/ErrorStack5.php [cweiske] * Fix #17045: avoid overwriting include path [glen] * Fix #17399: "pear help" doesn't mention the "version" command [kguest] * Fix #18638 and #18405: Make PEAR::loadExtension static [cweiske] * Fix #20319: allow pear to work when cache_dir is not writable [remicollet] * Fix #20507: pear list-upgrades does not take PHP version into account [cweiske] * Fix #20927: Use correct php-config [cweiske] * Fix #20946: PEAR_Builder::log() declaration [remicollet] * Fix channel.xml downloading from https if it did not change [cweiske] * Fix static warnings [cweiske] </notes> </release> <release> <date>2015-10-17</date> <time>13:22:42</time> <version> <release>1.10.1</release> <api>1.10.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> * Fix bug #20959: Crash on channel discovery with channel.xml redirect [cweiske] * Fix bug #20968: Incorrect call to __construct() from PEAR() [edlman] * Add legacy constructor for PEAR_Error for backwards compatibility [cweiske] </notes> </release> <release> <date>2017-02-28</date> <time>07:40:00</time> <version> <release>1.10.2</release> <api>1.10.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> * Fix Bug #4426: PEAR_Autoloader __call() must take only 2 arguments [kna] * Fix Bug #20989: fatal error/bug in the postinstallscript task [kguest] * Fix Bug #20991: Strict Standards: startSession and run methods in PEAR_Task_Postinstallscript [kguest] * Fix Bug #21001: PEAR_ERROR_DIE exit code is 0 [danielc] * Pull Request #52: Channel's _lastmodified is an int and not a string [sathieu] * Pull Request #53: Add proper HTTPS proxy support through the CONNECT verb [youknow0] * Pull Request #58: Make method signatures compatible. [yunosh] </notes> </release> <release> <date>2017-02-28</date> <time>10:15:00</time> <version> <release>1.10.3</release> <api>1.10.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> * Bug #21188: Class 'PEAR_Proxy' not found </notes> </release> <release> <date>2017-04-25</date> <version> <release>1.10.4</release> <api>1.10.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> * Bug #18102: pear install does not fail on error </notes> </release> <release> <date>2017-06-27</date> <version> <release>1.10.5</release> <api>1.10.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> * Bug #21222: PHP 7.2 compatibility: Upgrade to Archive_Tar 1.4.3 needed </notes> </release> <release> <date>2018-08-22</date> <version> <release>1.10.6</release> <api>1.10.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> * PR #70: Fix notice undefined variable metadata_dir * PR #71: fix Warning: count(): Parameter must be an array or an object * PR #74: Bug #23744 Remove is_executable check * Bug #23744: The is_executable check in the Which method when run on Windows is unnecessary * PR #75: Migrate old while(list() = each()) constructs to foreach * PR #76: Fix PHP Warning: "continue" targeting switch is equivalent to "break" * PR #77: proxy server auth * PR #72: Correctly authenticate at proxy server * PR #78: array or Countable error in 7.2 </notes> </release> <release> <date>2018-12-05</date> <version> <release>1.10.7</release> <api>1.10.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> * PR #79: Prevent Unable to find the wrapper "channel" Warning * PR #80: fix Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2" * PR #81: Add flags to PECL shell script for shared extensions </notes> </release> <release> <date>2019-02-07</date> <version> <release>1.10.8</release> <api>1.10.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> * PR #83: Drop track_errors from options * PR #84: Fix PHP 8 compatibility issues </notes> </release> <release> <date>2019-03-13</date> <version> <release>1.10.9</release> <api>1.10.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> * PR #85: Fixes static calls for PHP 8 * PR #86: Adjust silencing check for PHP 8 * PR #87: Comparison fixes * PR #88: Only add bin_dir to PATH if not already there (fixes PHP Bug #75852) </notes> </release> <release> <date>2019-11-19</date> <version> <release>1.10.10</release> <api>1.10.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> * PR #89: Fix scripts/* include paths * PR #90: Non-interactive configureoption answers * PR #91: Added missing preg quote * PR #92: handle "lib64" case for glibc detection * PR #93: Fix PHP Notice: Trying to access array offset on value of type bool with 7.4 * PR #94: Updated logic in useLocalCache to reuse getCacheId * PR #95: Fix manpage warning * PR #96: Implement the SOURCE_DATE_EPOCH specification * PR #97: Fix PHP 7.4 deprecation: array/string curly braces access * PR #98: Fix use of null/false as array * PR #99: Fix Travis builds on PHP 5.4 and 5.5 * PR #100: Honor PHP temp directory config * PR #101: Fix documentation: the `--force` is required </notes> </release> <release> <date>2020-04-10</date> <version> <release>1.10.11</release> <api>1.10.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> * PR #102: Fix logging error for urls not in cache * PR #103: Fix undefined constant name * PR #105: Sort list of packages * PR #106: Update REST.php * PR #107: Update .travis.yml to include PHP 7.4 * PR #108: Remove unneeded code </notes> </release> <release> <date>2020-04-19</date> <version> <release>1.10.12</release> <api>1.10.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> * adjust dependencies based on new releases </notes> </release> <release> <date>2021-08-10</date> <version> <release>1.10.13</release> <api>1.10.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> * PR #114: unsupported protocol - use --force to continue * PR #117: Add $this operator to _determineIfPowerpc calls </notes> </release> <release> <date>2023-11-26</date> <version> <release>1.10.14</release> <api>1.10.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> * PR #112: Put glue and pieces parameters to implode in correct order for PHP 7.4+ * PR #121: Fix PHP bug 81653: Typo in install-pear-nozlib.phar * PR #122: add %S EXPECTF capability * PR #124: Fix: Creation of dynamic property PEAR_Error::$callback is deprecated * PR #125: Fixed extension loaded check for pecl binaries * PR #126: Remove -n option from pecl.bat for shared extensions * PR #127: fix Using ${var} in strings is deprecated * PR #128: fix lingering license references to PHP license * PR #129: Exclude tests from composer classmap * PR #131: fix private lastError name </notes> </release> <release> <date>2024-03-09</date> <version> <release>1.10.15</release> <api>1.10.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> * PR #132: cleanup uneeded test * PR #135: Fix PHP Deprecated: Calling get_class() without arguments </notes> </release> </changelog> </package> lsphp81-pear/Archive_Tar_package.xml 0000644 00000046321 15035214013 0013354 0 ustar 00 <?xml version="1.0" encoding="UTF-8"?> <package packagerversion="1.10.12" 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> <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. Also Lzma2 compressed archives are supported with xz extension.</description> <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>2021-07-20</date> <time>19:35:29</time> <version> <release>1.4.14</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Properly fix symbolic link path traversal (CVE-2021-32610) </notes> <contents> <dir name="/"> <file baseinstalldir="/" md5sum="95f04c226245ad192b52c9164c1287ad" name="Archive/Tar.php" role="php" /> <file baseinstalldir="/" md5sum="2fb90f0be7089a45c09a0d1182792419" name="docs/Archive_Tar.txt" role="doc" /> </dir> </contents> <compatible> <name>PEAR</name> <channel>pear.php.net</channel> <min>1.8.0</min> <max>1.10.10</max> </compatible> <dependencies> <required> <php> <min>5.2.0</min> </php> <pearinstaller> <min>1.9.0</min> </pearinstaller> </required> </dependencies> <phprelease /> <changelog> <release> <version> <release>1.4.13</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2021-02-16</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #27010: Relative symlinks failing (out-of path file extraction) [mrook] </notes> </release> <release> <version> <release>1.4.12</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2021-01-18</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #27008: Symlink out-of-path write vulnerability (CVE-2020-36193) [mrook] </notes> </release> <release> <version> <release>1.4.11</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2020-11-19</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #27002: Filename manipulation vulnerabilities (CVE-2020-28948 / CVE-2020-28949) [mrook] </notes> </release> <release> <version> <release>1.4.10</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2020-09-15</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix block padding when the file buffer length is a multiple of 512 and smaller than Archive_Tar buffer length * Don't try to copy username/groupname in chroot jail </notes> </release> <release> <version> <release>1.4.9</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2019-12-04</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Implement Feature #23861: Add option to disallow symlinks [mrook] </notes> </release> <release> <version> <release>1.4.8</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2019-10-21</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #23852: PHP 7.4 - Archive_Tar->_readHeader throws deprecation [mrook] </notes> </release> <release> <version> <release>1.4.7</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2019-04-08</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Improved performance by increasing read buffer size </notes> </release> <release> <version> <release>1.4.6</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2019-02-01</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Improve path traversal detection for forward and backward slashes </notes> </release> <release> <version> <release>1.4.5</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2019-01-02</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #23788: Relative symlinks are broken [mrook] </notes> </release> <release> <version> <release>1.4.4</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2018-12-20</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #21058: Long symlinks are not supported [mrook] * Fix Bug #23782: Prevent phar:// files from being extracted [mrook] </notes> </release> <release> <version> <release>1.4.3</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2017-06-11</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #21218: Cannot use result of built-in function in write context in PHP 7.2.0alpha1 [mrook] </notes> </release> <release> <version> <release>1.4.2</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2016-02-25</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix reading of archives with files > 8GB * Performance optimizations * Do not try to call require_once on PEAR.php if it has already been loaded by the autoloader </notes> </release> <release> <version> <release>1.4.1</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2015-08-05</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Update composer.json to use pear-core-minimal 1.10.0alpha2 </notes> </release> <release> <version> <release>1.4.0</release> <api>1.4.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2015-07-20</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Add support for PHP 7 * Drop support for PHP 4 * Add visibility declarations to methods and properties </notes> </release> <release> <version> <release>1.3.16</release> <api>1.3.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2015-04-14</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #20514: invalid package.xml; not installable with pyrus [mrook] </notes> </release> <release> <version> <release>1.3.15</release> <api>1.3.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2015-03-05</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fixes composer.json parse error </notes> </release> <release> <version> <release>1.3.14</release> <api>1.3.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2015-02-26</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #18505: Possible incorrect handling of file names in TAR [mrook] </notes> </release> <release> <version> <release>1.3.13</release> <api>1.3.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2014-09-02</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #20382: gzopen fix [mrook] </notes> </release> <release> <version> <release>1.3.12</release> <api>1.3.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2014-08-04</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #19964: Memory leaking in Archive_Tar [mrook] * Fix Bug #20246: Broken with php 5.5.9 [mrook] * Fix Bug #20275: "pax_global_header" looks like a regular file * [mrook] * Implement Feature #19827: pass filename to _addFile function - downstream * patch [mrook] * Implement Feature #20132: Add custom mode/uid/gid to addString() [mrook] </notes> </release> <release> <version> <release>1.3.11</release> <api>1.3.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2013-02-09</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #19746: Broken with PHP 5.5 [mrook] * Implement Feature #11258: Custom date/time in files added on-the-fly * [mrook] </notes> </release> <release> <version> <release>1.3.10</release> <api>1.3.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2012-04-10</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #13361: Unable to add() some files (ex. mp3) [mrook] * Fix Bug #19330: Class creates incorrect (non-readable) tar.gz file * [mrook] </notes> </release> <release> <version> <release>1.3.9</release> <api>1.3.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2012-02-27</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #16759: No error thrown from missing PHP zlib functions [mrook] * Fix Bug #18877: Incorrect handling of backslashes in filenames on Linux [mrook] * Fix Bug #19085: Error while packaging [mrook] * Fix Bug #19289: Invalid tar file generated [mrook] </notes> </release> <release> <version> <release>1.3.8</release> <api>1.3.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2011-10-14</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> * Fix Bug #17853: Test failure: dirtraversal.phpt [mrook] * Fix Bug #18512: dead links are not saved in tar file [mrook] * Fix Bug #18702: Unpacks incorrectly on long file names using header prefix [mrook] * Implement Feature #10145: Patch to return a Pear Error Object on failure [mrook] * Implement Feature #17491: Option to preserve permissions [mrook] * Implement Feature #17813: Prevent PHP notice when extracting corrupted archive [mrook] </notes> </release> <release> <version> <release>1.3.7</release> <api>1.3.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2010-04-26</date> <license uri="http://www.opensource.org/licenses/bsd-license.php">New BSD License</license> <notes> PEAR compatibility update </notes> </release> <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> <stability> <release>stable</release> <api>stable</api> </stability> <date>2007-01-03</date> <license uri="http://www.php.net/license">PHP License</license> <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> <release>1.3.1</release> <api>1.3.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2005-03-17</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Correct Bug #3855 </notes> </release> <release> <version> <release>1.3.0</release> <api>1.3.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2005-03-06</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Bugs correction (2475, 2488, 2135, 2176) </notes> </release> <release> <version> <release>1.2</release> <api>1.2</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2004-05-08</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Add support for other separator than the space char and bug correction </notes> </release> <release> <version> <release>1.1</release> <api>1.1</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2003-05-28</date> <license uri="http://www.php.net/license">PHP License</license> <notes> * Add support for BZ2 compression * Add support for add and extract without using temporary files : methods addString() and extractInString() </notes> </release> <release> <version> <release>1.0</release> <api>1.0</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2003-01-24</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Change status to stable </notes> </release> <release> <version> <release>0.10-b1</release> <api>0.10-b1</api> </version> <stability> <release>beta</release> <api>beta</api> </stability> <date>2003-01-08</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Add support for long filenames (greater than 99 characters) </notes> </release> <release> <version> <release>0.9</release> <api>0.9</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2002-05-27</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Auto-detect gzip'ed files </notes> </release> <release> <version> <release>0.4</release> <api>0.4</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2002-05-20</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Windows bugfix: use forward slashes inside archives </notes> </release> <release> <version> <release>0.2</release> <api>0.2</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2002-02-18</date> <license uri="http://www.php.net/license">PHP License</license> <notes> From initial commit to stable </notes> </release> <release> <version> <release>0.3</release> <api>0.3</api> </version> <stability> <release>stable</release> <api>stable</api> </stability> <date>2002-04-13</date> <license uri="http://www.php.net/license">PHP License</license> <notes> Windows bugfix: used wrong directory separators </notes> </release> </changelog> </package> lsphp81-pear/Structures_Graph/docs/tutorials/Structures_Graph/Structures_Graph.pkg 0000644 00000007714 15035214013 0024570 0 ustar 00 <refentry id="{@id package.database.structures_graph.tutorial}"> <refnamediv> <refname><classname>Structures_Graph</classname> Tutorial</refname> <refpurpose>A first tour of graph datastructure manipulation</refpurpose> </refnamediv> <refsect1 id="{@id package.database.structures_graph.tutorial.intro}"> <title>Introduction</title> <para> 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. </para> <para> Structures_Graph provides an object oriented API to create and directly query a graph, as well as a set of Manipulator classes to extract information from the graph. </para> </refsect1> <refsect1 id="{@id package.database.structures_graph.tutorial.creation}"> <title>Creating a Graph</title> <para> Creating a graph is done using the simple constructor: <programlisting> <![CDATA[ require_once 'Structures/Graph.php'; $directedGraph =& new Structures_Graph(true); $nonDirectedGraph =& new Structures_Graph(false); ]]> </programlisting> and passing the constructor a flag telling it whether the graph should be directed. A directed graph will always be directed during its lifetime. It's a permanent characteristic. </para> <para> To fill out the graph, we'll need to create some nodes, and then call Graph::addNode. <programlisting> <![CDATA[ require_once 'Structures/Graph/Node.php'; $nodeOne =& new Structures_Graph_Node(); $nodeTwo =& new Structures_Graph_Node(); $nodeThree =& new Structures_Graph_Node(); $directedGraph->addNode(&$nodeOne); $directedGraph->addNode(&$nodeTwo); $directedGraph->addNode(&$nodeThree); ]]> </programlisting> and then setup the arcs: <programlisting> <![CDATA[ $nodeOne->connectTo($nodeTwo); $nodeOne->connectTo($nodeThree); ]]> </programlisting> Note that arcs can only be created after the nodes have been inserted into the graph. </para> </refsect1> <refsect1 id="{@id package.database.structures_graph.tutorial.nodesanddata}"> <title>Associating Data</title> <para> Graphs are only useful as datastructures if they can hold data. Structure_Graph stores data in nodes. Each node contains a setter and a getter for its data. <programlisting> <![CDATA[ $nodeOne->setData("Node One's Data is a String"); $nodeTwo->setData(1976); $nodeThree->setData('Some other string'); print("NodeTwo's Data is an integer: " . $nodeTwo->getData()); ]]> </programlisting> </para> <para> Structure_Graph nodes can also store metadata, alongside with the main data. Metadata differs from regular data just because it is stored under a key, making it possible to store more than one data reference per node. The metadata getter and setter need the key to perform the operation: <programlisting> <![CDATA[ $nodeOne->setMetadata('example key', "Node One's Sample Metadata"); print("Metadata stored under key 'example key' in node one: " . $nodeOne->getMetadata('example key')); $nodeOne->unsetMetadata('example key'); ]]> </programlisting> </para> </refsect1> <refsect1 id="{@id package.database.structures_graph.tutorial.querying}"> <title>Querying a Graph</title> <para> Structures_Graph provides for basic querying of the graph: <programlisting> <![CDATA[ // Nodes are able to calculate their indegree and outdegree print("NodeOne's inDegree: " . $nodeOne->inDegree()); print("NodeOne's outDegree: " . $nodeOne->outDegree()); // and naturally, nodes can report on their arcs $arcs = $nodeOne->getNeighbours(); for ($i=0;$i<sizeof($arcs);$i++) { print("NodeOne has an arc to " . $arcs[$i]->getData()); } ]]> </programlisting> </para> </refsect1> </refentry>
| ver. 1.4 |
Github
|
.
| PHP 8.2.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings