<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0">
<package version="1.0" packagerversion="1.4.9">
 <name>Config</name>
 <summary>Your configurations swiss-army knife.</summary>
 <description>The Config package provides methods for configuration manipulation.
* Creates configurations from scratch
* Parses and outputs different formats (XML, PHP, INI, Apache...)
* Edits existing configurations
* Converts configurations to other formats
* Allows manipulation of sections, comments, directives...
* Parses configurations into a tree structure
* Provides XPath like access to directives
 </description>
 <maintainers>
  <maintainer>
   <user>mansion</user>
   <name>Bertrand Mansion</name>
   <email>bmansion@mamasam.com</email>
   <role>lead</role>
  </maintainer>
  <maintainer>
   <user>ryansking</user>
   <name>Ryan King</name>
   <email>ryansking@php.net</email>
   <role>lead</role>
  </maintainer>
  <maintainer>
   <user>aashley</user>
   <name>Adam Ashley</name>
   <email>aashley@php.net</email>
   <role>lead</role>
  </maintainer>
  </maintainers>
 <release>
  <version>1.10.7</version>
  <date>2006-08-11</date>
  <license>PHP License</license>
  <state>stable</state>
  <notes>Changelog:
 * Fixed Bug #7544: Empty attributes in IniCommented are being discarded (Luis Correa d&apos;Almeida)
 * Fixed Bug #7652: wrong xml to phparray convert. Caused by counting position
   of directives and sections seperately. While when converting to some containers
   we want to count them together.
 * Add tests to confirm behaviour of Bug #8357. Do not believe it is fixable without removing
   features.
  </notes>
  <deps>
   <dep type="pkg" rel="has" optional="yes">XML_Parser</dep>
   <dep type="pkg" rel="has" optional="yes">XML_Util</dep>
  </deps>
  <provides type="class" name="Config" />
  <provides type="function" name="Config::isConfigTypeRegistered" />
  <provides type="function" name="Config::registerConfigType" />
  <provides type="function" name="Config::getRoot" />
  <provides type="function" name="Config::setRoot" />
  <provides type="function" name="Config::parseConfig" />
  <provides type="function" name="Config::writeConfig" />
  <provides type="class" name="Config_Container" />
  <provides type="function" name="Config_Container::createItem" />
  <provides type="function" name="Config_Container::addItem" />
  <provides type="function" name="Config_Container::createComment" />
  <provides type="function" name="Config_Container::createBlank" />
  <provides type="function" name="Config_Container::createDirective" />
  <provides type="function" name="Config_Container::createSection" />
  <provides type="function" name="Config_Container::getItem" />
  <provides type="function" name="Config_Container::searchPath" />
  <provides type="function" name="Config_Container::directiveContent" />
  <provides type="function" name="Config_Container::countChildren" />
  <provides type="function" name="Config_Container::removeItem" />
  <provides type="function" name="Config_Container::getItemIndex" />
  <provides type="function" name="Config_Container::getItemPosition" />
  <provides type="function" name="Config_Container::getParent" />
  <provides type="function" name="Config_Container::getChild" />
  <provides type="function" name="Config_Container::setName" />
  <provides type="function" name="Config_Container::getName" />
  <provides type="function" name="Config_Container::setContent" />
  <provides type="function" name="Config_Container::getContent" />
  <provides type="function" name="Config_Container::setType" />
  <provides type="function" name="Config_Container::getType" />
  <provides type="function" name="Config_Container::setAttributes" />
  <provides type="function" name="Config_Container::updateAttributes" />
  <provides type="function" name="Config_Container::getAttributes" />
  <provides type="function" name="Config_Container::getAttribute" />
  <provides type="function" name="Config_Container::setDirective" />
  <provides type="function" name="Config_Container::isRoot" />
  <provides type="function" name="Config_Container::toString" />
  <provides type="function" name="Config_Container::toArray" />
  <provides type="function" name="Config_Container::writeDatasrc" />
  <provides type="class" name="Config_Container_Apache" />
  <provides type="function" name="Config_Container_Apache::parseDatasrc" />
  <provides type="function" name="Config_Container_Apache::toString" />
  <provides type="class" name="Config_Container_GenericConf" />
  <provides type="function" name="Config_Container_GenericConf::parseDatasrc" />
  <provides type="function" name="Config_Container_GenericConf::toString" />
  <provides type="class" name="Config_Container_IniCommented" />
  <provides type="function" name="Config_Container_IniCommented::parseDatasrc" />
  <provides type="function" name="Config_Container_IniCommented::toString" />
  <provides type="class" name="Config_Container_IniFile" />
  <provides type="function" name="Config_Container_IniFile::parseDatasrc" />
  <provides type="function" name="Config_Container_IniFile::toString" />
  <provides type="class" name="Config_Container_PHPArray" />
  <provides type="function" name="Config_Container_PHPArray::parseDatasrc" />
  <provides type="function" name="Config_Container_PHPArray::toString" />
  <provides type="function" name="Config_Container_PHPArray::writeDatasrc" />
  <provides type="class" name="Config_Container_PHPConstants" extends="Config_Container" />
  <provides type="function" name="Config_Container_PHPConstants::parseDatasrc" />
  <provides type="function" name="Config_Container_PHPConstants::toString" />
  <provides type="function" name="Config_Container_PHPConstants::writeDatasrc" />
  <provides type="class" name="Config_Container_XML" extends="XML_Parser" />
  <provides type="function" name="Config_Container_XML::parseDatasrc" />
  <provides type="function" name="Config_Container_XML::startHandler" />
  <provides type="function" name="Config_Container_XML::endHandler" />
  <provides type="function" name="Config_Container_XML::cdataHandler" />
  <provides type="function" name="Config_Container_XML::toString" />
  <filelist>
   <file role="php" baseinstalldir="/" md5sum="d7601fd968ac6e97cde4b237430a4987" name="Config.php"/>
   <file role="php" md5sum="5cb17578402b866ed080a8e77a8a9a9b" name="Config/Container.php"/>
   <file role="php" md5sum="24c8aa0428acef34c3941da6e316ee64" name="Config/Container/Apache.php"/>
   <file role="php" md5sum="97334aef3975512fe8820dd0577ec135" name="Config/Container/GenericConf.php"/>
   <file role="php" md5sum="cea4ff38f7e4240e2c999be4aa1854e6" name="Config/Container/IniCommented.php"/>
   <file role="php" md5sum="33e8495e6c8da599248193bf66f3b479" name="Config/Container/IniFile.php"/>
   <file role="php" md5sum="fdd7b53a528bbd999779996d77e8c0ed" name="Config/Container/PHPArray.php"/>
   <file role="php" md5sum="5754e39e081433aaf132c64db676a163" name="Config/Container/PHPConstants.php"/>
   <file role="php" md5sum="957cbd88a70e34e94ed65ab7d3df5d7d" name="Config/Container/XML.php"/>
   <file role="doc" md5sum="3f258a90dbd6371c52337d83e763bdb8" name="docs/Apache.php"/>
   <file role="doc" md5sum="702edcddaf83d81196433887fa383a09" name="docs/IniCommented.php"/>
   <file role="doc" md5sum="bce55b10d2e5ffef5a4a04aba92851ce" name="docs/IniFromScratch.php"/>
   <file role="test" md5sum="85a595db7562821ef50297502a50317b" name="test/phpt_test.php.inc"/>
   <file role="test" md5sum="1dce06e33ccfa8f55463450db8b4d365" name="test/setup.php.inc"/>
   <file role="test" md5sum="1c00244cdc36cff6960e394f1746c86d" name="test/bug2742.phpt"/>
   <file role="test" md5sum="d77a133b013cdc9794d0f6e09b6b88d1" name="test/bug2742.ini"/>
   <file role="test" md5sum="a750197af925dcfbe4f30d493f43896d" name="test/bug2780.phpt"/>
   <file role="test" md5sum="756ac177b9281c16a54d5beabe5ece9b" name="test/bug3051.phpt"/>
   <file role="test" md5sum="61064633ed23cbec0f706fde3751a3e4" name="test/bug3051.xml"/>
   <file role="test" md5sum="000ebe981412c0ae5ff90a5797ad304b" name="test/bug3137.phpt"/>
   <file role="test" md5sum="2935e7e4362eca07908f005e92683460" name="test/bug3298.phpt"/>
   <file role="test" md5sum="7d577265dcdecebc67dee5118268ace5" name="test/bug3298.xml"/>
   <file role="test" md5sum="373109b53b1b5129f68c7b81aa31f297" name="test/bug3398.phpt"/>
   <file role="test" md5sum="2b36a2cc7b70a10d13799c116a5536bb" name="test/bug3398.ini"/>
   <file role="test" md5sum="164099132d1dedf4ac03b3f4a5afba19" name="test/bug3590.phpt"/>
   <file role="test" md5sum="08ec9d9f4649fefda49b1991d3fb20b1" name="test/bug3590-input.php"/>
   <file role="test" md5sum="9a8c732b18ec989dbf90c00bba4e0c55" name="test/bug4623.phpt"/>
   <file role="test" md5sum="ad05c4a11c5b08b25488aab6248192a7" name="test/bug4623.conf"/>
   <file role="test" md5sum="7e9519b6ccfa0b8a3e369023add3ead1" name="test/bug6441.phpt"/>
   <file role="test" md5sum="f6fec7ec6187f591c51fc7b09130da7d" name="test/bug6441.ini"/>
   <file role="test" md5sum="b293dee5fc7a375dbf72fae9b3d65bca" name="test/bug7652.phpt"/>
   <file role="test" md5sum="3fcbdf4ceabeca34357cfcd3266e5e6d" name="test/bug7652.xml"/>
   <file role="test" md5sum="8aa8d748b9266e30028e75889ed5ff0c" name="test/bug7544.ini"/>
   <file role="test" md5sum="8a3b57b2ae8d47ee78056b99e620c282" name="test/bug7544-inicommented.phpt"/>
   <file role="test" md5sum="db33c7454539f9fbc02897f5de2b90b2" name="test/bug7544-inifile.phpt"/>
   <file role="test" md5sum="23285375454662259e5821eb991d124d" name="test/bug8357.ini"/>
   <file role="test" md5sum="db3a27af6cf7afbeafb56e55ba63e601" name="test/bug8357-inicommented.phpt"/>
   <file role="test" md5sum="68f5313a4cb289711453a2561ba1645a" name="test/bug8357-inifile.phpt"/>
  </filelist>
 </release>
 <changelog>
   <release>
    <version>1.10.6</version>
    <date>2006-02-14</date>
    <license>PHP License</license>
    <state>stable</state>
    <notes>Changelog:
 * More PHP 4.4 and 5.1 return by reference fixes
 * Fixed bug #4477 fatal error when key of array is longer than 114 chars under PHP4.x
 * Fixed bug #6385 Allow colon in directive name in IniCommented to match IniFile.
 * Fixed bug #6441 true and false literals should be parsed appropriately. Booleans are now parsed the same as in parse_ini_file()
    </notes>
   </release>
   <release>
    <version>1.10.5</version>
    <date>2006-01-03</date>
    <license>PHP License</license>
    <state>stable</state>
    <notes>Changelog:
 * Make what we add quotes around consistent between IniFile and IniCommented.
 * Fixed bug #3137 Adding a comment caused problems outputing in phparray format.
 * Fixed bug #3590 Handling phparray formats with implicit numeric keys.
 * Fixed bug #4623 Rendering to Apache format a second time looses section attributes.
 * Fixed bug #5598 Allow &apos;=&apos; in values and output it correctly in IniFile format.
 * Fixed bugs #5033, #5835, #6294 Return only variables by reference as required by PHP 4.4 and 5.1.
 * Partial Fix for #6385 Allow colon in directive name in IniCommented to match IniFile.
    </notes>
   </release>
   <release>
    <version>1.10.4</version>
    <date>2005-02-10</date>
    <state>stable</state>
    <notes>Changelog:
    * Fixed bug #3298 which wouldn&apos;t parse arrays with numerical indexes correctly.
    *Fixed bug #2742 which didn&apos;t trim variable names in Inicommented file
    *changed XML_Parser and XML_Util dependencies to optional, since they&apos;re only needed 
    when parsing XML files (bug #2738)
    *added a new container for editing files of php constants, courtesy of philip ortel [me@phillipoertel.com] (beta)
    </notes>
   </release>
   <release>
    <version>1.10.3</version>
    <date>2004-10-13</date>
    <state>stable</state>
    <notes>Changelog:
    *Fixed bug #2179 which prevented URL&apos;s containting ~ in ini files to be parsed correctly
    *Fixed bug #2439 which caused Config_Containter::countChildren() to return a PEAR_ERROR
        object when called on a non-section Config_Container object.  This change brings
        the object&apos;s behavior inline with the documentation. Beware, if your code relies
        on the previous behavior, this change may break your code.
    </notes>
   </release>
   <release>
    <version>1.10.2</version>
    <date>2004-06-14</date>
    <state>stable</state>
    <notes>* Fixed bug #1633 related to case-sensitivity of method names in PHP4.
  causing PHPArray container not to work correctly. See also #1556.
  Patch provided by m at tacker dotorg.
    </notes>
   </release>
   <release>
    <version>1.10.1</version>
    <date>2004-06-04</date>
    <state>stable</state>
    <notes>* Fixed problems with PHP5 case sensitivity on class and method names.
* Added possibility to actually replace the root container by using method
Config::setRoot() with a container of type &apos;section&apos; and name &apos;root&apos;.
* XML parser now makes use of the encoding specified in the options array.
* Fixed a warning with array_splice() on an unset $children.
    </notes>
   </release>
   <release>
    <version>1.10</version>
    <date>2003-11-29</date>
    <state>stable</state>
    <notes>* Added &apos;isFile&apos; option to XML container
* Fix a bug when a directive has no content in XML configurations
* Fix slowdown caused by uniqid() on Linux
* Fix regular expression for directives in .ini files (Emil Biserov)
* Fix bug #132 concerning % in .ini files (Wagner netsols.de)
* Fix possible warning if text is empty in .ini commented (Dean Urmson)
* Small speed optimizations
    </notes>
   </release>
   <release>
    <version>1.9</version>
    <date>2003-09-21</date>
    <state>stable</state>
    <notes>* Added a new boolean option/parameter in XML, PHPArray and toArray() to set
  whether attributes should be rendered.
* Added comments rendering in XML.
* Fix typo in PHPArray when setting the configuration array name (Laurent Laville)
    </notes>
   </release>
   <release>
    <version>1.8.1</version>
    <date>2003-09-07</date>
    <state>stable</state>
    <notes>* Fix a bug in XML container related to cdata handler read by chunk, reported by Stephan Wentz
    </notes>
   </release>
   <release>
    <version>1.8</version>
    <date>2003-08-16</date>
    <state>stable</state>
    <notes>* Fix a bug in setRoot() for the XML generator
* Added new method searchPath() to Config_Container (taken from Alan Knowles for XML_Tree)
* Added float detection in Config_Container_PHPArray (Sylvinus Prodi)
* Uses XML_Util in xml container for special entities translation, customizable linebreaks, indents, xml declaration
    </notes>
   </release>
   <release>
    <version>1.7</version>
    <date>2003-06-16</date>
    <state>stable</state>
    <notes>* Added new method registerConfigType() (Greg Beaver)
* Root containers are not named &apos;root&apos; anymore (Bertrand Mansion)
* IniCommented handles comma, quotes, slashes (Greg Beaver)
* IniFile and IniCommented take care of slashes (Greg Beaver)
* Method _parseArray() in PHPArray refactored and much faster (Bertrand Mansion)
* Fix bugs with certain type of arrays with PHPArray (Bertrand Mansion)
* PHPArray now returns values between single quotes (Jean-Marc Fontaine)
    </notes>
   </release>
   <release>
    <version>1.6</version>
    <date>2003-05-20</date>
    <state>stable</state>
    <notes>* Fix bug #23690 in toArray reported by Rob Halff
    </notes>
   </release>
   <release>
    <version>1.5</version>
    <date>2003-04-14</date>
    <state>stable</state>
    <notes>* Added an id private property for each node
* Fix a bug in toArray when items are duplicates
    </notes>
   </release>
   <release>
    <version>1.4</version>
    <date>2003-04-02</date>
    <state>stable</state>
    <notes>* Fix setDirective method in Container
* Fix warnings in foreach loop when attributes are not set
* Added phpdoc comments
    </notes>
   </release>
   <release>
    <version>1.3</version>
    <date>2003-03-26</date>
    <state>stable</state>
    <notes>* Fixed missing quote in xml generation (Nicolas Guennoc)
* Fixed warning in xml container when no attributes (Nicolas Guennoc)
* Added methods getAttribute and updateAttributes to container.
* Added possibility to get item by looking at its attributes in getItem()
* PHPArray container automatically generates array name when not specified in options
* XML Container can accept a name too that will generate the global root entity if needed
    </notes>
   </release>
   <release>
    <version>1.2</version>
    <date>2003-03-24</date>
    <state>stable</state>
    <notes>First stable release.
* Added an XML container (uses XML_Parser),
* Possibility to convert from one format to another,
* Fixes in toArray(),
* Added attributes to containers,
* New methods for item manipulation.
    </notes>
   </release>
   <release>
    <version>1.1</version>
    <date>2002-10-08</date>
    <state>beta</state>
    <notes>Fix bug in toArray().
Thanks to Mark Polsen for noticing it.
    </notes>
   </release>
   <release>
    <version>1.0</version>
    <notes>Complete rewrite : API has changed.
The class now uses a tree structure of container objects.
As a consequence, backward compatibility is not provided !!!
Look at the Apache.php and IniCommented.php scripts in &apos;docs&apos; for usage examples.
Some containers are still missing : XML and DB.
    </notes>
   </release>
   <release>
    <version>0.3.1</version>
    <notes>Documentation is in README.Config.
0.3.1
-  E_ALL fixes
    </notes>
   </release>
   <release>
    <version>0.3</version>
    <notes>- some fixes
- add WDDX-Container for config data in WDDX-files
- add phpIniFile, does the same like IniFile but based on the PHP build-in function parse_ini_file()
    </notes>
   </release>
   <release>
    <version>0.2.2</version>
    <notes>- Only the first char of -&gt;feature[&apos;cc&apos;] is taken as a comment deliminator
- quoting supports both methods:
  [bla]
  foo = &quot;&apos;bar&apos;&quot;
  bar = &apos;&quot;foo&quot;&apos;
- Value parser only parser until first comment-char or the end of the string, therefore spaces surrounded by nonspaces don&apos;t have to be quoted.
    </notes>
   </release>
   <release>
    <version>0.2.1</version>
    <notes>- Bug fixed, when $feature in ParseInput was not set 
- some e_warnings fixed
(thanks to Markus Fischer for the reports)
    </notes>
   </release>
 </changelog>
</package>
