Location: PHPKode > projects > Cgiapp.class.php > package.xml
<?xml version="1.0" encoding="UTF-8"?>
<package packagerversion="1.4.9" 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>Cgiapp2</name>
 <channel>weierophinney.net/phly</channel>
 <summary>Cgiapp2 is a PHP5 port of the Perl module CGI::Application. Its purpose is to serve as a framework for creating extensible, reusable web applications. It is a page and front controller.</summary>
 <description>Cgiapp2 is intended to make it easier to create sophisticated, reusable
web-based applications. This module implements a methodology which, if followed,
will make your web software easier to design, easier to document, easier to
write, and easier to evolve.

Cgiapp2 builds on standard, non-proprietary technologies and techniques, such as
PHP5 and Smarty. Like its perl ancestor, Cgiapp2 judiciously avoids employing
technologies and techniques which would bind a developer to any one set of
tools, operating system or web server.</description>
 <lead>
  <name>Matthew Weier O&apos;Phinney</name>
  <user>weierophinney</user>
  <email>hide@address.com</email>
  <active>yes</active>
 </lead>
 <date>2006-06-03</date>
 <time>10:50:55</time>
 <version>
  <release>2.0.0</release>
  <api>2.0.0</api>
 </version>
 <stability>
  <release>stable</release>
  <api>stable</api>
 </stability>
 <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
 <notes>2006-06-03: v2.0.0
================
First STABLE release of 2.x series

The 2.x series of Cgiapp completes a PHP5 port of Cgiapp2. PHP5 compatibility
changes include visibility operators for all properties and methods, declaration
of many methods as static and/or final, and the use of exceptions for catching
run mode errors. Most notably, though, is the fact that Cgiapp2 is now an
abstract class, with one abstract method, setup(); this enforces the fact that
you must subclass Cgiapp2 in order to create your application.

New features include:
* Callback hook system. Cgiapp2 is now an observer subject, and has hooks at
  several locations within the application. Additionally, it provides a method
  for registering new hooks in your applications. The callback hook system
  replaces the plugin system introduced in Cgiapp 1.7.0.

* Template engines are now relegated to plugin classes, and should implement the
  Cgiapp2_Plugin_Template_Interface. Shipped template engines include Smarty,
  Savant2, Savant3, and XSLT.

* Improved and more extensive error handling, which has been expanded to
  exceptions as well. Cgiapp2_Exception and Cgiapp2_Error are both observable
  subjects, with interface classes for implementing observers. This allows the
  developer to tie into exceptions and errors and perform actions when triggered
  (Log and Mail observers are implemented for each).

* Cgiapp2_FrontController class. This is a simple front controller that
  dispatches to public static methods in registered classes. Included is a
  &apos;page&apos; controller for handling static pages.

For more information and upgrade notes, see the documentation.</notes>
 <contents>
  <dir name="/">
   <file baseinstalldir="/" md5sum="70bfdc82d2dea5cb89965753ce8f6c1e" name="Cgiapp2/Error/Observer/Interface.class.php" role="php" />
   <file baseinstalldir="/" md5sum="792e8565058fe6111118c97e225d43d3" name="Cgiapp2/Error/Observer/Log.class.php" role="php" />
   <file baseinstalldir="/" md5sum="175292c64d3e19385eb8903e88f7dbe6" name="Cgiapp2/Error/Observer/Mail.class.php" role="php" />
   <file baseinstalldir="/" md5sum="c3986b0cafc6f2dabfbf5927f4775bde" name="Cgiapp2/Exception/Observer/Interface.class.php" role="php" />
   <file baseinstalldir="/" md5sum="bf9f6b34567ffbdb0fb4208deaccd9cb" name="Cgiapp2/Exception/Observer/Log.class.php" role="php" />
   <file baseinstalldir="/" md5sum="386641d190bd463b761f22f54f0f2ce4" name="Cgiapp2/Exception/Observer/Mail.class.php" role="php" />
   <file baseinstalldir="/" md5sum="d427d0ac3b043bfbe63d4baaf3c031db" name="Cgiapp2/Exception/Error.class.php" role="php" />
   <file baseinstalldir="/" md5sum="e657973bfc6de3f2af4bdb99be891708" name="Cgiapp2/Plugin/Template/Interface.class.php" role="php" />
   <file baseinstalldir="/" md5sum="d2fb2c5753bdef92893e0f3ae074db33" name="Cgiapp2/Plugin/Savant2.class.php" role="php" />
   <file baseinstalldir="/" md5sum="7dadb134d2930397048e23c5ac7ca5ae" name="Cgiapp2/Plugin/Savant3.class.php" role="php" />
   <file baseinstalldir="/" md5sum="5b80d25046e3b15b81b6dd0121fefbb5" name="Cgiapp2/Plugin/Smarty.class.php" role="php" />
   <file baseinstalldir="/" md5sum="6e6842cd957b8a3ca108ada481e987b1" name="Cgiapp2/Plugin/Xslt.class.php" role="php" />
   <file baseinstalldir="/" md5sum="24a8d9d142b60bc7627f363a5d102efc" name="Cgiapp2/Error.class.php" role="php" />
   <file baseinstalldir="/" md5sum="430068e6d80f49f267079e26f26310cd" name="Cgiapp2/Exception.class.php" role="php" />
   <file baseinstalldir="/" md5sum="dcffcf53c1007cedcf4a4ccce50d43cd" name="Cgiapp2/FrontController.class.php" role="php" />
   <file baseinstalldir="/" md5sum="74e70109b82ea0c5a7f37e42d2f71068" name="doc/Cgiapp2/Cgiapp2.html" role="doc" />
   <file baseinstalldir="/" md5sum="675a0d38e21a0519eb90faed096b6237" name="doc/Cgiapp2/Cgiapp2_Error.html" role="doc" />
   <file baseinstalldir="/" md5sum="b91972149f4e81840f25f3fa497c4a2d" name="doc/Cgiapp2/Cgiapp2_Error_Observer_Interface.html" role="doc" />
   <file baseinstalldir="/" md5sum="a1820d8b97e4668d6588cb2f3f531323" name="doc/Cgiapp2/Cgiapp2_Error_Observer_Log.html" role="doc" />
   <file baseinstalldir="/" md5sum="3b7917d87310c79ab6c8cda6a3d9203f" name="doc/Cgiapp2/Cgiapp2_Error_Observer_Mail.html" role="doc" />
   <file baseinstalldir="/" md5sum="47c7591d3b9a0ff6f5055f1f350a8d67" name="doc/Cgiapp2/Cgiapp2_Exception.html" role="doc" />
   <file baseinstalldir="/" md5sum="44a05d8522042280fc09d518c9832ad8" name="doc/Cgiapp2/Cgiapp2_Exception_Error.html" role="doc" />
   <file baseinstalldir="/" md5sum="9c23274c23be05bb60797ec1a6fb2c95" name="doc/Cgiapp2/Cgiapp2_Exception_Observer_Interface.html" role="doc" />
   <file baseinstalldir="/" md5sum="6b274280d4dd1822670595f0cfba157a" name="doc/Cgiapp2/Cgiapp2_Exception_Observer_Log.html" role="doc" />
   <file baseinstalldir="/" md5sum="02fc68f4faa482fe734faaa27d6d501c" name="doc/Cgiapp2/Cgiapp2_Exception_Observer_Mail.html" role="doc" />
   <file baseinstalldir="/" md5sum="b86ce07586fa123d682bb22cdb7ec930" name="doc/Cgiapp2/Cgiapp2_Plugin_Savant2.html" role="doc" />
   <file baseinstalldir="/" md5sum="8595cad86e1f2bcf2e4fa9872df3288d" name="doc/Cgiapp2/Cgiapp2_Plugin_Savant3.html" role="doc" />
   <file baseinstalldir="/" md5sum="3ac71654950ff980b3f33fc6efe30600" name="doc/Cgiapp2/Cgiapp2_Plugin_Smarty.html" role="doc" />
   <file baseinstalldir="/" md5sum="7588a76b4cc90ac479977d9f0548ece4" name="doc/Cgiapp2/Cgiapp2_Plugin_Template_Interface.html" role="doc" />
   <file baseinstalldir="/" md5sum="0c6762d2420b014c0941944875967ec7" name="doc/Cgiapp2/tutorial_Cgiapp2.cls.html" role="doc" />
   <file baseinstalldir="/" md5sum="10c0fdc731ac69118592e84cb28ce537" name="doc/Cgiapp2/tutorial_Cgiapp21.cls.html" role="doc" />
   <file baseinstalldir="/" md5sum="cdce3a0f820856e7095c949b009c0dec" name="doc/Cgiapp2/tutorial_Cgiapp22.cls.html" role="doc" />
   <file baseinstalldir="/" md5sum="cc3ca75290baf6f1b508e4480b1aecb9" name="doc/Cgiapp2/tutorial_Cgiapp23.cls.html" role="doc" />
   <file baseinstalldir="/" md5sum="48bad325f03a8688d9c9b7e309fef8ba" name="doc/Cgiapp2/tutorial_Cgiapp24.cls.html" role="doc" />
   <file baseinstalldir="/" md5sum="d3ba971b33ba024805e774241f216f72" name="doc/Cgiapp2/tutorial_Cgiapp25.cls.html" role="doc" />
   <file baseinstalldir="/" md5sum="313baff8f0cc85f6c2d662dbae3e771d" name="doc/Cgiapp2/tutorial_Cgiapp26.cls.html" role="doc" />
   <file baseinstalldir="/" md5sum="59a4b79ce5da10b375324049ee1bc8d0" name="doc/Cgiapp2/tutorial_Cgiapp27.cls.html" role="doc" />
   <file baseinstalldir="/" md5sum="475be32fdfc64090dda74e152d17ebb5" name="doc/Cgiapp2/tutorial_Cgiapp28.cls.html" role="doc" />
   <file baseinstalldir="/" md5sum="4775b88809c67568fd055ea44d49962f" name="doc/Cgiapp2/tutorial_Cgiapp29.cls.html" role="doc" />
   <file baseinstalldir="/" md5sum="1c8191d265b1c54c7cfac2fd03c81250" name="doc/Cgiapp2/_Cgiapp2_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="4b0d7bc259e0db7b421beecc0f14dd6b" name="doc/Cgiapp2/_Cgiapp2_Error_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="49f2f17c8f49b58c97d56161c45b8576" name="doc/Cgiapp2/_Cgiapp2_Error_Observer_Interface_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="3dfe8c86f2f3b81e3c9b257d44b6df0a" name="doc/Cgiapp2/_Cgiapp2_Error_Observer_Log_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="e8af68da24640ea23642cf351f7392f2" name="doc/Cgiapp2/_Cgiapp2_Error_Observer_Mail_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="34948975909a60507d87842f85261622" name="doc/Cgiapp2/_Cgiapp2_Exception_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="974a2ac6b148d4aa5a31db2760a21297" name="doc/Cgiapp2/_Cgiapp2_Exception_Error_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="de1e53656889850b6c1f7081482863f6" name="doc/Cgiapp2/_Cgiapp2_Exception_Observer_Interface_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="b8038e0e0a7bc4937c5ce51adaa6cf48" name="doc/Cgiapp2/_Cgiapp2_Exception_Observer_Log_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="13f3257194da285e5114e412ffc673f3" name="doc/Cgiapp2/_Cgiapp2_Exception_Observer_Mail_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="47cec5fdff88e51b97ec018c73d289c9" name="doc/Cgiapp2/_Cgiapp2_Plugin_Savant2_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="f7df722ca2574395823d822e7633b04e" name="doc/Cgiapp2/_Cgiapp2_Plugin_Savant3_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="a2efbf2e38585ee79d04659651d5e747" name="doc/Cgiapp2/_Cgiapp2_Plugin_Smarty_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="8626239f10b5b665640de2ab976c30fd" name="doc/Cgiapp2/_Cgiapp2_Plugin_Template_Interface_class_php.html" role="doc" />
   <file baseinstalldir="/" md5sum="5189118af3e84698c51db5f8cac5525a" name="doc/media/background.png" role="doc" />
   <file baseinstalldir="/" md5sum="4c480a60db1ab64317fe351a24396eb1" name="doc/media/empty.png" role="doc" />
   <file baseinstalldir="/" md5sum="533a91c6a9b888eac3432d017c4236ce" name="doc/media/style.css" role="doc" />
   <file baseinstalldir="/" md5sum="4fa108940f67bdc8091ebf4fd29606be" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="e32997afdf0858663582401d11090385" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2Error.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="81d79ef6eba43bc922522920efa969b9" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2ErrorObserverInterface.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="20057daeda287df8f6b4cefd45ac8fcf" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2ErrorObserverLog.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="4b88312f54a3116a98dc11558b99932a" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2ErrorObserverMail.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="8139b5388dff15a722732bb8d67d4707" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2Exception.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="becee74d105996e86410e379744d2a99" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2ExceptionError.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="cf15c25818a0f760dc6ba861d45336d4" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2ExceptionObserverInterface.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="802639f1070f27d4c38407f0c0dd10af" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2ExceptionObserverLog.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="f8fb63bb9cd9b36996d67b1c7c61def3" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2ExceptionObserverMail.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="e0a0a760c9f61a52dbd97fd0b73d0128" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2PluginSavant2.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="7dee68e06aa0d7be082b062b56d905da" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2PluginSavant3.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="8d4124e6b2aa33e6dba1196c583ab547" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2PluginSmarty.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="f4d398e9e45db2734a645f431b3288cf" name="doc/__filesource/fsource_Cgiapp2__Cgiapp2PluginTemplateInterface.class.php.html" role="doc" />
   <file baseinstalldir="/" md5sum="0be980bffd5933e642efd6c424311fac" name="doc/classtrees_Cgiapp2.html" role="doc" />
   <file baseinstalldir="/" md5sum="a1b0ca5ed7665bfe3bd5a410a9aaef5c" name="doc/elementindex.html" role="doc" />
   <file baseinstalldir="/" md5sum="d17272b9b96dcfa108cd7d4d3c1eb528" name="doc/elementindex_Cgiapp2.html" role="doc" />
   <file baseinstalldir="/" md5sum="a8679471f4ae84a5bb74e850dadcf453" name="doc/errors.html" role="doc" />
   <file baseinstalldir="/" md5sum="aeb62a0f7b925ea84a02a25f0150b019" name="doc/index.html" role="doc" />
   <file baseinstalldir="/" md5sum="aeb62a0f7b925ea84a02a25f0150b019" name="doc/li_Cgiapp2.html" role="doc" />
   <file baseinstalldir="/" md5sum="7e1a15924ba249070b44f38dcbf9d715" name="doc/ric_Changelog.html" role="doc" />
   <file baseinstalldir="/" md5sum="a48c9fcf7095d1a96e65baf419c1292b" name="doc/ric_README.html" role="doc" />
   <file baseinstalldir="/" md5sum="3faae495008acf1e166a221a56cb2e06" name="examples/tmpl/templates/mail.html" role="data" />
   <file baseinstalldir="/" md5sum="05364a70756dbd59291b36618c188e00" name="examples/tmpl/templates/mail_form.html" role="data" />
   <file baseinstalldir="/" md5sum="87706ef8d92cb5663251b8149bfaa32f" name="examples/MailForm.class.php" role="php" />
   <file baseinstalldir="/" md5sum="6730e5f9bc039dc76ca961bd72537b0e" name="examples/mailform.php" role="php" />
   <file baseinstalldir="/" md5sum="ece3693970244e0644099bda1582c6ef" name="tests/Cgiapp2/Error/Observer/Log.phpt" role="test" />
   <file baseinstalldir="/" md5sum="176a3c2b3e33688230dcfeec1d818b9a" name="tests/Cgiapp2/Exception/Observer/Log.phpt" role="test" />
   <file baseinstalldir="/" md5sum="9fe52069c15f5d6652c0f762f7c7753d" name="tests/Cgiapp2/Exception/Error.phpt" role="test" />
   <file baseinstalldir="/" md5sum="948009d7ccb17b6ba62333c8604a2994" name="tests/Cgiapp2/Plugin/savant_tmpl/test.tpl.php" role="test" />
   <file baseinstalldir="/" md5sum="172cc328997de86946f6df9066887918" name="tests/Cgiapp2/Plugin/savant_tmpl/test3.tpl.php" role="test" />
   <file baseinstalldir="/" md5sum="9e8c1c68af4b239f1683bdef7d451395" name="tests/Cgiapp2/Plugin/tmpl/templates/SmartyTest.tpl" role="test" />
   <file baseinstalldir="/" md5sum="42c532c7ca63eedd4f085c7a0662acf4" name="tests/Cgiapp2/Plugin/tmpl/templates_c/%%84^843^843D5D82%%SmartyTest.tpl.php" role="test" />
   <file baseinstalldir="/" md5sum="2921eb76d53f78ff0bb5b61b33e1b9b1" name="tests/Cgiapp2/Plugin/xslt/test.xslt" role="test" />
   <file baseinstalldir="/" md5sum="21a57d84ad9da1b0fb1dd247bb3b3cb4" name="tests/Cgiapp2/Plugin/savant2_test.phpt" role="test" />
   <file baseinstalldir="/" md5sum="998807034cb78ceb5f9c0ff1d443d337" name="tests/Cgiapp2/Plugin/savant3_test.phpt" role="test" />
   <file baseinstalldir="/" md5sum="5728ee595b14c3d569d415b965cc23e6" name="tests/Cgiapp2/Plugin/Smarty.phpt" role="test" />
   <file baseinstalldir="/" md5sum="fab71dfbc6a7b9555a6fca2491821d2f" name="tests/Cgiapp2/Plugin/Xslt.phpt" role="test" />
   <file baseinstalldir="/" md5sum="cbfe09ebf137a362f26276b8e3268510" name="tests/add_callback1.phpt" role="test" />
   <file baseinstalldir="/" md5sum="2b42509a02486ee4dcff224eb1885783" name="tests/add_callback2.phpt" role="test" />
   <file baseinstalldir="/" md5sum="5589587be9b1e2ee9a6f34cb435fa7f9" name="tests/add_callback3.phpt" role="test" />
   <file baseinstalldir="/" md5sum="1ba0eea55ca3545f9ef28c8fa5f2e2c5" name="tests/add_callback4.phpt" role="test" />
   <file baseinstalldir="/" md5sum="436a04d6f2ec004a802a49fb730f8ea3" name="tests/add_callback5.phpt" role="test" />
   <file baseinstalldir="/" md5sum="e6a3d9b9db1ab1982de6cd8296c1c723" name="tests/array_to_hash.phpt" role="test" />
   <file baseinstalldir="/" md5sum="0d64a38804cf51c958e7285db24adb8a" name="tests/call_hook-error.phpt" role="test" />
   <file baseinstalldir="/" md5sum="06a670dab9531df5b1516388ee53901b" name="tests/call_hook-init.phpt" role="test" />
   <file baseinstalldir="/" md5sum="3c3319e2852865a63749b8aba4a83424" name="tests/call_hook-postrun.phpt" role="test" />
   <file baseinstalldir="/" md5sum="2c92500f8165b9b47a0fea4ae1ab06d4" name="tests/call_hook-prerun.phpt" role="test" />
   <file baseinstalldir="/" md5sum="d68befb2113aed6cfb7f9690a4b0164a" name="tests/call_hook-teardown.phpt" role="test" />
   <file baseinstalldir="/" md5sum="228ee9294442d29afa736b2af3f0a989" name="tests/call_hook-tmpl_assign.phpt" role="test" />
   <file baseinstalldir="/" md5sum="4e58b700336454ba525e3962c9c6f84b" name="tests/call_hook-tmpl_fetch.phpt" role="test" />
   <file baseinstalldir="/" md5sum="3d7e1a7727ef27c1cce20628ee21ba7d" name="tests/call_hook-tmpl_path.phpt" role="test" />
   <file baseinstalldir="/" md5sum="61d79a353bf4361f0f512c863268f4ce" name="tests/call_hook.phpt" role="test" />
   <file baseinstalldir="/" md5sum="43d95351dff23e2dc3d70aae56a334ab" name="tests/cap_hash.phpt" role="test" />
   <file baseinstalldir="/" md5sum="bb3112449e07669220e5115607c768b3" name="tests/carp.phpt" role="test" />
   <file baseinstalldir="/" md5sum="b5445bf02f8ea05eb4d20bb577349189" name="tests/croak.phpt" role="test" />
   <file baseinstalldir="/" md5sum="0d8a14ce9408704038f5c0f9db4d1ac8" name="tests/delete.phpt" role="test" />
   <file baseinstalldir="/" md5sum="5215e4c010b1e67af9e73418feae0cd9" name="tests/dump.phpt" role="test" />
   <file baseinstalldir="/" md5sum="4743b553bfd8a78019fcbc930708e4e9" name="tests/dump_html.phpt" role="test" />
   <file baseinstalldir="/" md5sum="22ac2bba5f5d443259e641c65cc120af" name="tests/error_mode.phpt" role="test" />
   <file baseinstalldir="/" md5sum="360a0539a6d7ed1c6f4bf5ead2a1a4ad" name="tests/get_current_runmode.phpt" role="test" />
   <file baseinstalldir="/" md5sum="26668ad80b6cb5f4f51ed2383faea862" name="tests/header_props.phpt" role="test" />
   <file baseinstalldir="/" md5sum="ea0004a8c357a1cb52fc4df3a4ab9a8a" name="tests/header_type.phpt" role="test" />
   <file baseinstalldir="/" md5sum="d9c39bfd5f30f6e9b5877180b4fdd4ee" name="tests/is_assoc_array.phpt" role="test" />
   <file baseinstalldir="/" md5sum="cc2ea04990eb8a5a4cdd256309c8a602" name="tests/mode_param.phpt" role="test" />
   <file baseinstalldir="/" md5sum="83cec1af7e4864d96e0ae20ef5ff8270" name="tests/new_hook.phpt" role="test" />
   <file baseinstalldir="/" md5sum="db745a15b57f98d10793847a8c220b54" name="tests/param.phpt" role="test" />
   <file baseinstalldir="/" md5sum="499ffd918bcb611ffbfebd8b099d1a6e" name="tests/path_info.phpt" role="test" />
   <file baseinstalldir="/" md5sum="958ca162679bb08e833b1861c88ca4a2" name="tests/prerun_mode.phpt" role="test" />
   <file baseinstalldir="/" md5sum="8437c2bc76f7632a5045f6581e61fec2" name="tests/query.phpt" role="test" />
   <file baseinstalldir="/" md5sum="3caabe40a536cdfd7ce1ff07b58d2de5" name="tests/run_modes.phpt" role="test" />
   <file baseinstalldir="/" md5sum="e4c4e1e1726aa8026dedfbbe0b183418" name="tests/setup-hooks.php.inc" role="test" />
   <file baseinstalldir="/" md5sum="ca1734c0e5fd1ec889cb2670a36269ad" name="tests/setup-Savant2.php.inc" role="test" />
   <file baseinstalldir="/" md5sum="cd4177720db267cdba03890b457d4005" name="tests/setup-Savant3.php.inc" role="test" />
   <file baseinstalldir="/" md5sum="f28d0e26eebe952e3969a1a96d7803a6" name="tests/setup-Smarty.php.inc" role="test" />
   <file baseinstalldir="/" md5sum="a3a3fbbf94f530ca39cb07c9e7cb2626" name="tests/setup-Xslt.php.inc" role="test" />
   <file baseinstalldir="/" md5sum="e56a965bdb7c63b8c17e0e094ce9689b" name="tests/setup.php.inc" role="test" />
   <file baseinstalldir="/" md5sum="a41dd7272a574fe4d88ba0e442e8566d" name="tests/start_mode.phpt" role="test" />
   <file baseinstalldir="/" md5sum="c305b78c835827ba3c30433d52414748" name="tests/s_delete-no_session.phpt" role="test" />
   <file baseinstalldir="/" md5sum="6296ee451cb600fd07b538725c45991a" name="tests/s_delete.phpt" role="test" />
   <file baseinstalldir="/" md5sum="9d1d8fcb8a437755e0ae8398898a7d32" name="tests/s_param-no_session.phpt" role="test" />
   <file baseinstalldir="/" md5sum="1d86a2b065f764796e3ad545e9907ced" name="tests/s_param.phpt" role="test" />
   <file baseinstalldir="/" md5sum="1ba6fadd8dd9e71c870248766233b6d5" name="tests/tmpl_path.phpt" role="test" />
   <file baseinstalldir="/" md5sum="72474a2ed623048b4a9da4694dc1016a" name="tutorials/Cgiapp2/Cgiapp2.cls" role="doc" />
   <file baseinstalldir="/" md5sum="87a31b3ba4d860036aab224e0b4b93e6" name="tutorials/Cgiapp2/Cgiapp2.cls.ini" role="doc" />
   <file baseinstalldir="/" md5sum="117cade8ebbff114cc59c6a9ba9299f8" name="tutorials/Cgiapp2/Cgiapp2.xml" role="doc" />
   <file baseinstalldir="/" md5sum="1d9acdde29dbef108f9156b996da79cc" name="tutorials/Cgiapp2/Cgiapp21.cls" role="doc" />
   <file baseinstalldir="/" md5sum="565eba6065fd06073fe3bd2a28f447dc" name="tutorials/Cgiapp2/Cgiapp22.cls" role="doc" />
   <file baseinstalldir="/" md5sum="8103e4963b79f066c4cc329342546c20" name="tutorials/Cgiapp2/Cgiapp23.cls" role="doc" />
   <file baseinstalldir="/" md5sum="b701a2ec87f26cbc788fba94355d8ee4" name="tutorials/Cgiapp2/Cgiapp24.cls" role="doc" />
   <file baseinstalldir="/" md5sum="66f50191dd247ca583619c3d5d46b99b" name="tutorials/Cgiapp2/Cgiapp25.cls" role="doc" />
   <file baseinstalldir="/" md5sum="5a86658187883ccf1eae15787cc289d9" name="tutorials/Cgiapp2/Cgiapp26.cls" role="doc" />
   <file baseinstalldir="/" md5sum="9217c63651cb49a206b8bccd27b4f21d" name="tutorials/Cgiapp2/Cgiapp27.cls" role="doc" />
   <file baseinstalldir="/" md5sum="3d44f01fb431354229ea73deeb790b6c" name="tutorials/Cgiapp2/Cgiapp28.cls" role="doc" />
   <file baseinstalldir="/" md5sum="05e1466af8616319f5430672e701816d" name="tutorials/Cgiapp2/Cgiapp29.cls" role="doc" />
   <file baseinstalldir="/" md5sum="80ca1c524c71080ae40c716784a8b045" name="Cgiapp2.class.php" role="php" />
   <file baseinstalldir="/" md5sum="ea4cd6903a53b38bca480c3598fbaf42" name="Changelog" role="doc" />
   <file baseinstalldir="/" md5sum="a424ef3b6cc7e520e5d869806d1b5db6" name="README" role="doc" />
  </dir>
 </contents>
 <dependencies>
  <required>
   <php>
    <min>5.0.0</min>
   </php>
   <pearinstaller>
    <min>1.4.0b1</min>
   </pearinstaller>
  </required>
 </dependencies>
 <phprelease />
 <changelog>
  <release>
   <version>
    <release>2.0.0</release>
    <api>2.0.0</api>
   </version>
   <stability>
    <release>stable</release>
    <api>stable</api>
   </stability>
   <date>2006-06-03</date>
   <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
   <notes>2006-06-03: v2.0.0
================
First STABLE release of 2.x series

The 2.x series of Cgiapp completes a PHP5 port of Cgiapp2. PHP5 compatibility
changes include visibility operators for all properties and methods, declaration
of many methods as static and/or final, and the use of exceptions for catching
run mode errors. Most notably, though, is the fact that Cgiapp2 is now an
abstract class, with one abstract method, setup(); this enforces the fact that
you must subclass Cgiapp2 in order to create your application.

New features include:
* Callback hook system. Cgiapp2 is now an observer subject, and has hooks at
  several locations within the application. Additionally, it provides a method
  for registering new hooks in your applications. The callback hook system
  replaces the plugin system introduced in Cgiapp 1.7.0.

* Template engines are now relegated to plugin classes, and should implement the
  Cgiapp2_Plugin_Template_Interface. Shipped template engines include Smarty,
  Savant2, Savant3, and XSLT.

* Improved and more extensive error handling, which has been expanded to
  exceptions as well. Cgiapp2_Exception and Cgiapp2_Error are both observable
  subjects, with interface classes for implementing observers. This allows the
  developer to tie into exceptions and errors and perform actions when triggered
  (Log and Mail observers are implemented for each).

* Cgiapp2_FrontController class. This is a simple front controller that
  dispatches to public static methods in registered classes. Included is a
  &apos;page&apos; controller for handling static pages.

For more information and upgrade notes, see the documentation.</notes>
  </release>
  <release>
   <version>
    <release>2.0.0RC2</release>
    <api>2.0.0RC2</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <date>2006-05-07</date>
   <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
   <notes>2006-05-07: v2.0.0RC2
================
RELEASE CANDIDATE!
This is the second release candidate for the 2.0.0 branch of Cgiapp, Cgiapp2.

* Fixes path_info() to determine path based on REQUEST_URI when PATH_INFO is
  either empty or not present.

* Added additional test to mode_param.phpt to test using a method as the
  mode_param

* A BC break with cgiapp_postrun() was discovered. Since call_hook() cannot
  accept arguments by reference (since it allows variable numbers of arguments),
  the $body argument wasn&apos;t being passed by reference, and the generated content
  could not be altered. A new method, postrun_body() was created that may be
  called from any postrun hook, allowing it to set the contents of $body.

* NEW: Cgiapp2_FrontController class added. Simple front controller that
  dispatches to registered class public static methods. Includes a &apos;page&apos;
  controller for static pages.</notes>
  </release>
  <release>
   <version>
    <release>2.0.0rc1</release>
    <api>2.0.0rc1</api>
   </version>
   <stability>
    <release>beta</release>
    <api>beta</api>
   </stability>
   <date>2006-02-19</date>
   <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD</license>
   <notes>2006-02-19: v2.0.0rc1
================
RELEASE CANDIDATE!
This is the initial release of the 2.0.0 branch of Cgiapp, Cgiapp2.

Version 2.0.0 has several goals:

* PHP5-only, E_STRICT compatible. Note: libraries used with Cgiapp2 may or may
  not be E_STRICT compatible. At the time of this writing, for instance, Smarty
  and Savant2 are not.

* Cgiapp2 is now an abstract class, preventing it from being instantiated by
  itself. All methods and variables now have visibility operators. The setup()
  method is now abstract and MUST be overridden in the extending class.

* Adds in new functionality from recent CGI::Application releases. This
  includes the extensive callback hook system introduced in that library
  (add_callback(), new_hook(), and call_hook() methods).

* Addition of exception and error handling helper classes

* Code cleanup

Changes in this release:

* Code cleanup. Changed many instances of &quot;in_array(, array_keys())&quot;
  to simply &quot;isset()&quot;; replaced redundant &quot;is_array() &amp;&amp;
  self::is_assoc_array()&quot; calls with &quot;self::is_assoc_array()&quot;; and
  many other code optimizations.

* Simplified is_assoc_array()

* Removed punctuation at end of all croak() and carp() calls.

* Removed __call() in favor of CGI::Application callback hook API. Added
  add_callback(), new_hook(), and call_hook() methods; added static property
  $_INSTALLED_CALLBACKS to register hooks and callbacks.

* Added path_info() static method. Allows retrieving of PATH_INFO as an array,
  or retrieving an element from PATH_INFO by index. mode_param() was altered to
  use this.

* Added three template plugins: Cgiapp2_Plugin_Smarty, Cgiapp2_Plugin_Savant2,
  and Cgiapp2_Plugin_Savant3 (all of which implement
  Cgiapp2_Plugin_Template_Interface). 

* No longer uses Smarty by default. Developers will need to include a template
  plugin when using their classes. However, if these implement the
  Cgiapp2_Plugin_Template_Interface, usage of the tmpl_path(), tmpl_assign(),
  and load_tmpl() methods will make switching template engines trivial.

* Removed Cgiapp2_Plugin_HTML_QuickForm plugin. Doesn&apos;t conform with the new
  callback hook API, and I don&apos;t personally have the time or interest to
  maintain it.

* Added exception and error handling classes.
  Cgiapp2_Exception is an observable exception class; two observers,
  Cgiapp2_Exception_Observer_Log and Cgiapp2_Exception_Observer_Mail, are
  included as well. Additionally, Cgiapp2_Exception_Error can be used to throw
  exceptions from non-fatal PHP errors, and is used in run() when evaluating a
  run mode.

  Cgiapp2_Error is an observable PHP error handler class. It, too, has two
  observer classes, Cgiapp2_Error_Observer_Log and Cgiapp2_Error_Observer_Mail.
  It can be used to handle non-fatal PHP errors, such as those triggered by
  carp().

* Visibility operators. Many functions are now static, including:
  * query()
  * path_info()
  * cap_hash() (was _cap_hash())
  * is_assoc_array()
  * array_to_hash()
  * carp()
  * croak()

* Several methods marked as &apos;final&apos; to prevent overriding in subclasses:
  * __construct()
  * run()
  * add_callback()
  * new_hook()
  * call_hook()
  * header_props()
  * header_type()
  * mode_param()
  * run_modes()
  * start_mode()
  * prerun_mode()
  * error_mode()
  * param()
  * delete()
  * s_param()
  * s_delete()
  * _send_headers()</notes>
  </release>
 </changelog>
</package>
Return current item: Cgiapp.class.php