[Pkg-php-commits] r1322 - in pear: . php-html-quickform-advmultiselect php-html-quickform-advmultiselect/trunk php-html-quickform-advmultiselect/trunk/debian php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/.registry php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/HTML php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/HTML/QuickForm php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/data php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect

Elizabeth Krumbach lyz-guest at alioth.debian.org
Mon Dec 28 20:42:15 UTC 2009


tags 535135 pending
thanks

Author: lyz-guest
Date: 2009-12-28 20:42:15 +0000 (Mon, 28 Dec 2009)
New Revision: 1322

Added:
   pear/php-html-quickform-advmultiselect/
   pear/php-html-quickform-advmultiselect/branches/
   pear/php-html-quickform-advmultiselect/tags/
   pear/php-html-quickform-advmultiselect/trunk/
   pear/php-html-quickform-advmultiselect/trunk/debian/
   pear/php-html-quickform-advmultiselect/trunk/debian/changelog
   pear/php-html-quickform-advmultiselect/trunk/debian/compat
   pear/php-html-quickform-advmultiselect/trunk/debian/control
   pear/php-html-quickform-advmultiselect/trunk/debian/copyright
   pear/php-html-quickform-advmultiselect/trunk/debian/dirs
   pear/php-html-quickform-advmultiselect/trunk/debian/examples
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/.registry/
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/.registry/html_quickform_advmultiselect.reg
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/HTML/
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/HTML/QuickForm/
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/HTML/QuickForm/advmultiselect.php
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/data/
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect/
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect/qfamsHandler-min.js
   pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect/qfamsHandler.js
   pear/php-html-quickform-advmultiselect/trunk/debian/rules
   pear/php-html-quickform-advmultiselect/trunk/debian/watch
Log:
Initial commit of php php-html-quickform-advmultiselect package.



Added: pear/php-html-quickform-advmultiselect/trunk/debian/changelog
===================================================================
--- pear/php-html-quickform-advmultiselect/trunk/debian/changelog	                        (rev 0)
+++ pear/php-html-quickform-advmultiselect/trunk/debian/changelog	2009-12-28 20:42:15 UTC (rev 1322)
@@ -0,0 +1,6 @@
+php-html-quickform-advmultiselect (1.5.1-1) unstable; urgency=low
+
+  * Initial Release (Closes: #535135).
+
+ -- Stephanie Layton <stephanielayton at mac.com>  Tue, 02 Jun 2009 15:52:45 -0400
+

Added: pear/php-html-quickform-advmultiselect/trunk/debian/compat
===================================================================
--- pear/php-html-quickform-advmultiselect/trunk/debian/compat	                        (rev 0)
+++ pear/php-html-quickform-advmultiselect/trunk/debian/compat	2009-12-28 20:42:15 UTC (rev 1322)
@@ -0,0 +1 @@
+5

Added: pear/php-html-quickform-advmultiselect/trunk/debian/control
===================================================================
--- pear/php-html-quickform-advmultiselect/trunk/debian/control	                        (rev 0)
+++ pear/php-html-quickform-advmultiselect/trunk/debian/control	2009-12-28 20:42:15 UTC (rev 1322)
@@ -0,0 +1,17 @@
+Source: php-html-quickform-advmultiselect
+Section: web
+Priority: optional
+Maintainer: Stephanie Layton <stephanielayton at mac.com>
+Build-Depends: debhelper (>= 5), dh-make-php (>= 0.2.3), cdbs
+Standards-Version: 3.8.0
+Homepage: http://pear.php.net/package/html_quickform_advmultiselect
+
+Package: php-html-quickform-advmultiselect
+Architecture: all
+Depends: php-pear (>= 1.5.4), php-html-common (>= 1.2.5), php-html-quickform (>= 3.2.10)
+Suggests: php-phpunit (>= 3.2.0)
+Description: Element for HTML_QuickForm that emulate a multi-select
+ The HTML_QuickForm_advmultiselect package adds an element to the
+ HTML_QuickForm package that is two select boxes next to each other
+ emulating a multi-select.
+

Added: pear/php-html-quickform-advmultiselect/trunk/debian/copyright
===================================================================
--- pear/php-html-quickform-advmultiselect/trunk/debian/copyright	                        (rev 0)
+++ pear/php-html-quickform-advmultiselect/trunk/debian/copyright	2009-12-28 20:42:15 UTC (rev 1322)
@@ -0,0 +1,38 @@
+This package was debianized by Stephanie Layton <stephanielayton at mac.com> using dh-make-pear
+on Tue, 02 Jun 2009 15:52:45 -0400.
+
+It was downloaded from http://pear.php.net/package/HTML_QuickForm_advmultiselect
+
+Upstream Author: Laurent Laville <pear at laurent-laville.org>
+
+Copyright (c): 2009 Laurent Laville
+
+License: BSD
+
+Copyright (c) The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. 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.
+3. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
+

Added: pear/php-html-quickform-advmultiselect/trunk/debian/dirs
===================================================================
--- pear/php-html-quickform-advmultiselect/trunk/debian/dirs	                        (rev 0)
+++ pear/php-html-quickform-advmultiselect/trunk/debian/dirs	2009-12-28 20:42:15 UTC (rev 1322)
@@ -0,0 +1 @@
+usr/share/php

Added: pear/php-html-quickform-advmultiselect/trunk/debian/examples
===================================================================
--- pear/php-html-quickform-advmultiselect/trunk/debian/examples	                        (rev 0)
+++ pear/php-html-quickform-advmultiselect/trunk/debian/examples	2009-12-28 20:42:15 UTC (rev 1322)
@@ -0,0 +1 @@
+HTML_QuickForm_advmultiselect-1.5.1/examples/*

Added: pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/.registry/html_quickform_advmultiselect.reg
===================================================================
--- pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/.registry/html_quickform_advmultiselect.reg	                        (rev 0)
+++ pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/.registry/html_quickform_advmultiselect.reg	2009-12-28 20:42:15 UTC (rev 1322)
@@ -0,0 +1,163 @@
+a:22:{s:7:"attribs";a:6:{s:15:"packagerversion";s:5:"1.7.2";s:7:"version";s:3:"2.0";s:5:"xmlns";s:35:"http://pear.php.net/dtd/package-2.0";s:11:"xmlns:tasks";s:33:"http://pear.php.net/dtd/tasks-1.0";s:9:"xmlns:xsi";s:41:"http://www.w3.org/2001/XMLSchema-instance";s:18:"xsi:schemaLocation";s:147:"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";}s:4:"name";s:29:"HTML_QuickForm_advmultiselect";s:7:"channel";s:12:"pear.php.net";s:7:"summary";s:55:"Element for HTML_QuickForm that emulate a multi-select.";s:11:"description";s:159:"The HTML_QuickForm_advmultiselect package adds an element to the
+ HTML_QuickForm package that is two select boxes next to each other
+ emulating a multi-select.";s:4:"lead";a:4:{s:4:"name";s:15:"Laurent Laville";s:4:"user";s:6:"farell";s:5:"email";s:24:"pear at laurent-laville.org";s:6:"active";s:3:"yes";}s:4:"date";s:10:"2009-04-05";s:4:"time";s:8:"09:19:02";s:7:"version";a:2:{s:7:"release";s:5:"1.5.1";s:3:"api";s:5:"1.5.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:50:"http://www.opensource.org/licenses/bsd-license.php";}s:8:"_content";s:3:"BSD";}s:5:"notes";s:316:"[+] New features
+ -  None
+
+[*] Improvements / changes
+ -  None
+
+[-] Bugfixes
+ -  single or dual shape is now well commented when using setComment()
+
+[!] Quality Assurance
+ -  Improve unit test suites (for PHPUnit 3.2+) with code coverage closest to 100% (99.81)
+ -  Upgrade HTML_Common dependency from 1.2.4 to 1.2.5";s:8:"contents";a:1:{s:3:"dir";a:2:{s:7:"attribs";a:2:{s:14:"baseinstalldir";s:4:"HTML";s:4:"name";s:1:"/";}s:4:"file";a:27:{i:0;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"17f9c22bd5623609af519a821fe48955";s:4:"name";s:24:"examples/bluestar-12.gif";s:4:"role";s:3:"doc";}}i:1;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"113cae5ea72917da02b63e3aa3e78aeb";s:4:"name";s:17:"examples/down.png";s:4:"role";s:3:"doc";}}i:2;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"4a542801bc401766e1da4a8cbf6f1b20";s:4:"name";s:24:"examples/goldstar-12.gif";s:4:"role";s:3:"doc";}}i:3;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"a33f88edf5d04b3752e3bd34128c734d";s:4:"name";s:23:"examples/itdynamic.html";s:4:"role";s:3:"doc";}}i:4;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"608acda2ec19c826eff41444a10a1a4b";s:4:"name";s:26:"examples/qfams_basic_1.php";s:4:"role";s:3:"doc";}}i:5;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"fa93a4a875478d9f8e5fd5534f4bd92d";s:4:"name";s:26:"examples/qfams_basic_2.php";s:4:"role";s:3:"doc";}}i:6;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"a054de581f546ba2c3e93ec058f8921b";s:4:"name";s:27:"examples/qfams_custom_1.php";s:4:"role";s:3:"doc";}}i:7;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"d959b00aade2051dc048f32ca994aa0e";s:4:"name";s:27:"examples/qfams_custom_2.php";s:4:"role";s:3:"doc";}}i:8;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"1b7ba3b1bb4cee72c5a3c59f40abcc8e";s:4:"name";s:27:"examples/qfams_custom_3.php";s:4:"role";s:3:"doc";}}i:9;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"a9bc965cd0f75a87729ae6a27dbc045f";s:4:"name";s:27:"examples/qfams_custom_4.php";s:4:"role";s:3:"doc";}}i:10;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"30b6a12e2d3ebdffa101a647e052ec9b";s:4:"name";s:27:"examples/qfams_custom_5.php";s:4:"role";s:3:"doc";}}i:11;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"391c7491d052237649670afcff036e35";s:4:"name";s:27:"examples/qfams_custom_6.php";s:4:"role";s:3:"doc";}}i:12;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"6940f13c098f1ed10f57ced6b1f9e678";s:4:"name";s:27:"examples/qfams_custom_7.php";s:4:"role";s:3:"doc";}}i:13;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"1de9f5d74a5684bfae1c8af5c9dd5cbd";s:4:"name";s:27:"examples/qfams_custom_8.php";s:4:"role";s:3:"doc";}}i:14;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"eedac508da1ddbe659543e418c694756";s:4:"name";s:27:"examples/qfams_custom_9.php";s:4:"role";s:3:"doc";}}i:15;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"08e6f5387049732349e57b8f2e50d496";s:4:"name";s:29:"examples/qfams_multiple_1.php";s:4:"role";s:3:"doc";}}i:16;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"6a39d1a193310d71c938e7830bf2d66f";s:4:"name";s:29:"examples/qfams_multiple_2.php";s:4:"role";s:3:"doc";}}i:17;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"514695d6040fc37b6587e2fbb93de081";s:4:"name";s:29:"examples/qfams_template_1.php";s:4:"role";s:3:"doc";}}i:18;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"8c73c6605797bf55ce6ab9df21e71a4a";s:4:"name";s:15:"examples/up.png";s:4:"role";s:3:"doc";}}i:19;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:4:"HTML";s:6:"md5sum";s:32:"b751485b8f8fca33509bd202a095758e";s:4:"name";s:18:"tests/AllTests.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:20;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:4:"HTML";s:6:"md5sum";s:32:"fc1ea1ac3dedaba94d82a0caf1fad565";s:4:"name";s:55:"tests/HTML_QuickForm_advmultiselect_TestSuite_Basic.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:21;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:4:"HTML";s:6:"md5sum";s:32:"1a1f776b4c04596c453b565b7525852e";s:4:"name";s:56:"tests/HTML_QuickForm_advmultiselect_TestSuite_Custom.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:22;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:4:"HTML";s:6:"md5sum";s:32:"2ec6ec307180cc2c4c43a39bf11ca3ea";s:4:"name";s:59:"tests/HTML_QuickForm_advmultiselect_TestSuite_Exception.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:23;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"cc19c38a8530cdd4cbdfb76fa186f4e4";s:4:"name";s:18:"advmultiselect.php";s:4:"role";s:3:"php";}s:13:"tasks:replace";a:3:{i:0;a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}i:1;a:1:{s:7:"attribs";a:3:{s:4:"from";s:14:"@package_name@";s:2:"to";s:4:"name";s:4:"type";s:12:"package-info";}}i:2;a:1:{s:7:"attribs";a:3:{s:4:"from";s:10:"@data_dir@";s:2:"to";s:8:"data_dir";s:4:"type";s:11:"pear-config";}}}}i:24;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"0ea1593fcc96746d6c78fa256af3b3c7";s:4:"name";s:9:"ChangeLog";s:4:"role";s:3:"doc";}}i:25;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"633f6ac954655c6a2c98bfccc822054a";s:4:"name";s:19:"qfamsHandler-min.js";s:4:"role";s:4:"data";}}i:26;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"52231c63c953d7468a3c570fd65d202c";s:4:"name";s:15:"qfamsHandler.js";s:4:"role";s:4:"data";}}}}}s:12:"dependencies";a:2:{s:8:"required";a:4:{s:3:"php";a:1:{s:3:"min";s:6:"4.3.10";}s:13:"pearinstaller";a:1:{s:3:"min";s:5:"1.5.4";}s:7:"package";a:2:{i:0;a:3:{s:4:"name";s:11:"HTML_Common";s:7:"channel";s:12:"pear.php.net";s:3:"min";s:5:"1.2.5";}i:1;a:3:{s:4:"name";s:14:"HTML_QuickForm";s:7:"channel";s:12:"pear.php.net";s:3:"min";s:6:"3.2.10";}}s:9:"extension";a:1:{s:4:"name";s:4:"pcre";}}s:8:"optional";a:1:{s:7:"package";a:3:{s:4:"name";s:7:"PHPUnit";s:7:"channel";s:15:"pear.phpunit.de";s:3:"min";s:5:"3.2.0";}}}s:10:"phprelease";s:0:"";s:9:"changelog";a:1:{s:7:"release";a:12:{i:0;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"1.5.1";s:3:"api";s:5:"1.5.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2009-04-05";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:50:"http://www.opensource.org/licenses/bsd-license.php";}s:8:"_content";s:3:"BSD";}s:5:"notes";s:316:"[+] New features
+ -  None
+
+[*] Improvements / changes
+ -  None
+
+[-] Bugfixes
+ -  single or dual shape is now well commented when using setComment()
+
+[!] Quality Assurance
+ -  Improve unit test suites (for PHPUnit 3.2+) with code coverage closest to 100% (99.81)
+ -  Upgrade HTML_Common dependency from 1.2.4 to 1.2.5";}i:1;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"1.5.0";s:3:"api";s:5:"1.5.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2009-02-15";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:50:"http://www.opensource.org/licenses/bsd-license.php";}s:8:"_content";s:3:"BSD";}s:5:"notes";s:1384:"* news
+- copyright bump to 2009
+- fix dependencies
+- remove dreprecated function (setJsElement) since version 1.3.0
+- rewrites JS in object literal notation (uses namespace)
+- add two new buttons to move up to top or down to bottom a selected item
+- add a minimized/compressed version of Javascript code; uses getElementJs()
+- may now load options (class constructor) with fancy attributes
+  without additional code
+- qfams_custom_3.php show that it is now possible
+  to define one or more item (preselected) that cannot be remove by end-user
+- setElementTemplate() function signature changed (but keep BC) :
+  allow to use only one instance of javascript code
+- remove embedded version of TDG (The Definitive Guide)
+  now it was included in the new PEAR
+- new example qfams_custom_9.php show how to handle fancy options attributes
+  (disabled, style:color background-color ...)
+- handle of persistant options at run-time
+  (see new methods: getPersistantOptions, setPersistantOptions)
+- PEAR_Error instance throws have now a level (exception or error)
+  and a code identified by HTML_QUICKFORM_ADVMULTISELECT_ERROR_INVALID_INPUT constant
+
+* QA
+- Old User Guide 1.4.0 that was previously included in past releases, was removed.
+  The most up-to-date documentation is now part of the new PEAR Manual.
+- Add unit test suites (for PHPUnit 3.2+) with code coverage closest to 100% (97.30)";}i:2;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"1.4.1";s:3:"api";s:5:"1.0.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2008-04-26";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:50:"http://www.opensource.org/licenses/bsd-license.php";}s:8:"_content";s:3:"BSD";}s:5:"notes";s:540:"* news
+- Introduce a TIP to make double-select-box XHTML 1.0 Strict compliant
+  even with an empty list.
+
+* bugs
+- fix #13680 : XHTML - Need to create a distinct id for all checkboxes
+
+* changes
+- With default element template there is a label, that does not exist with submit button
+  All examples uses a custom submit-element template to make them XHTML compliant.
+
+* QA
+- User Guide 1.4.0 included in this release cover all versions 1.x.x
+  see http://pear.laurent-laville.org/HTML_QuickForm_advmultiselect
+  for more format to download.";}i:3;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"1.4.0";s:3:"api";s:5:"1.0.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2007-06-09";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:50:"http://www.opensource.org/licenses/bsd-license.php";}s:8:"_content";s:3:"BSD";}s:5:"notes";s:264:"* changes
+- No code changes since previous release
+- License switch from PHP 3.01 to new BSD
+
+* QA
+- User Guide 1.4.0 included in this release cover all versions 1.x.x
+  see http://pear.laurent-laville.org/HTML_QuickForm_advmultiselect for more format to download.";}i:4;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"1.3.1";s:3:"api";s:5:"1.0.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2007-01-08";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:35:"http://www.php.net/license/3_01.txt";}s:8:"_content";s:16:"PHP License 3.01";}s:5:"notes";s:91:"* bugs
+- fixed javascript file path resource pear installer replacement into getElementJs()";}i:5;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"1.3.0";s:3:"api";s:5:"1.0.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2007-01-06";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:35:"http://www.php.net/license/3_01.txt";}s:8:"_content";s:16:"PHP License 3.01";}s:5:"notes";s:1241:"* warning
+- PHP 4.2.0 is still enough to use all other API except getElementJs()
+  that requires now PHP 4.3.0 to retrieve inline javascript source code.
+  BTW usage of getElementJs() begin optional and not recommanded.
+- To avoid BC break, and keep previous implementation still running,
+ {javascript} placeholder is again included inside default template.
+  Do not use it anymore. See FAQ howto section of user guide.
+
+* news
+- placeholders to display live counters (unselected, selected, all items)
+  see Multiple example 2 (examples/qfams_multiple_2.php) and User Guide for details
+
+* changes
+- fixed closing html-styles tags that raised a warning in all examples
+- copyright notice bumped to 2007
+- license fixed to PHP 3.01
+- use namespace for CSS and JS
+- setJsElement() is marked as deprecated, since rewrite of JS (external file) with namespace
+- more placeholders into template to support new feature : Live Counter
+- getElementJs return now content of external JS to avoid BC break
+
+* bugs
+- Doc Bug #9221 : Did not realize at first needed additional require
+
+* QA
+- User Guide 1.3.0 included in this release cover all versions 1.x.x
+  see http://pear.laurent-laville.org/HTML_QuickForm_advmultiselect for more format to download.";}i:6;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"1.2.0";s:3:"api";s:5:"1.0.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2006-04-08";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:35:"http://www.php.net/license/3_01.txt";}s:8:"_content";s:16:"PHP License 3.01";}s:5:"notes";s:382:"* news
+- add both package.xml v1.0 and v2.0
+- license upgrade from PHP License 3.0 to 3.01
+- copyright notice changed
+- add toggle button ability to a dual multi-select boxes.
+
+  See examples/qfams_custom_6.php script that demonstrates this feature.
+
+* Quality Assurance
+- User Guide (TDG), english html multi pages include was also updated
+See chapter 5.Advanced features / buttons";}i:7;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"1.1.0";s:3:"api";s:5:"1.0.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2005-12-01";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:15:"PHP License 3.0";}s:5:"notes";s:370:"* news
+- ability to select/unselect all items (options) in one stroke.
+- you may also toggle a selection.
+
+See examples/qfams_custom_7.php script that demonstrates these new features.
+
+* Quality Assurance
+- User Guide (TDG), english html multi pages include was also updated
+See chapter 5.Advanced features / buttons
+and also chapter 8.Examples / Avanced selection usage";}i:8;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"1.0.0";s:3:"api";s:5:"1.0.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2005-09-01";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:15:"PHP License 3.0";}s:5:"notes";s:791:"* bugs
+- fix bug #5216 Warning: Invalid argument supplied for foreach()
+
+* news
+- add a new example to demonstrate the db options loading feature with PEAR::DB
+  and a MySQL database (see examples/qfams_basic_2.php).
+
+* Quality Assurance
+- added some @example and @link phpDoc tags to provide screenshots and example
+  source code access on API documentation (generated by phpDocumentor).
+- include a complete english guide for both beginners and expert users.
+  This is the many html files version. Others format and language content are
+  available to download at URI http://pear.laurent-laville.org/HTML_QuickForm_advmultiselect/docs
+
+Live demos, screenshots, source codes and much more are available on my
+project homepage at http://pear.laurent-laville.org/HTML_QuickForm_advmultiselect";}i:9;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"0.5.1";s:3:"api";s:5:"0.5.1";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2005-08-05";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:15:"PHP License 3.0";}s:5:"notes";s:503:"* bugs
+- fix bug #4993 javascript error: r.options[i] has no properties
+  only since version 0.5.0
+
+* QA
+- add more phpdoc tags for screenshots link and examples source code
+- fix minor other phpdoc tags
+- include ChangeLog and NEWS files
+
+PDF and HTML online docs are available at
+http://pear.laurent-laville.org/HTML_QuickForm_advmultiselect/docs
+
+Live demos, screenshots, source codes and much more are available on my
+project homepage at http://pear.laurent-laville.org/HTML_QuickForm_advmultiselect";}i:10;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"0.5.0";s:3:"api";s:5:"0.5.0";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2005-07-25";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:15:"PHP License 3.0";}s:5:"notes";s:292:"* news
+- add auto arrange feature (developer issue) asked by Jamie Alessio
+- ability to manage (sort) list with two buttons (Up and Down)
+
+Live demos, screenshots, source codes and much more are available on my
+project homepage at http://pear.laurent-laville.org/HTML_QuickForm_advmultiselect";}i:11;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"0.4.0";s:3:"api";s:5:"0.4.0";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2005-06-25";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:15:"PHP License 3.0";}s:5:"notes";s:228:"This is the initial release of the HTML_QuickForm_advmultiselect package.
+
+Live demos, screenshots, source codes and much more are available on my
+project homepage at http://pear.laurent-laville.org/HTML_QuickForm_advmultiselect";}}}s:8:"filelist";a:27:{s:24:"examples/bluestar-12.gif";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"17f9c22bd5623609af519a821fe48955";s:4:"name";s:24:"examples/bluestar-12.gif";s:4:"role";s:3:"doc";s:12:"installed_as";s:115:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/bluestar-12.gif";}s:17:"examples/down.png";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"113cae5ea72917da02b63e3aa3e78aeb";s:4:"name";s:17:"examples/down.png";s:4:"role";s:3:"doc";s:12:"installed_as";s:108:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/down.png";}s:24:"examples/goldstar-12.gif";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"4a542801bc401766e1da4a8cbf6f1b20";s:4:"name";s:24:"examples/goldstar-12.gif";s:4:"role";s:3:"doc";s:12:"installed_as";s:115:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/goldstar-12.gif";}s:23:"examples/itdynamic.html";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"a33f88edf5d04b3752e3bd34128c734d";s:4:"name";s:23:"examples/itdynamic.html";s:4:"role";s:3:"doc";s:12:"installed_as";s:114:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/itdynamic.html";}s:26:"examples/qfams_basic_1.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"608acda2ec19c826eff41444a10a1a4b";s:4:"name";s:26:"examples/qfams_basic_1.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:117:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_basic_1.php";}s:26:"examples/qfams_basic_2.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"fa93a4a875478d9f8e5fd5534f4bd92d";s:4:"name";s:26:"examples/qfams_basic_2.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:117:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_basic_2.php";}s:27:"examples/qfams_custom_1.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"a054de581f546ba2c3e93ec058f8921b";s:4:"name";s:27:"examples/qfams_custom_1.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:118:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_custom_1.php";}s:27:"examples/qfams_custom_2.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"d959b00aade2051dc048f32ca994aa0e";s:4:"name";s:27:"examples/qfams_custom_2.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:118:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_custom_2.php";}s:27:"examples/qfams_custom_3.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"1b7ba3b1bb4cee72c5a3c59f40abcc8e";s:4:"name";s:27:"examples/qfams_custom_3.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:118:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_custom_3.php";}s:27:"examples/qfams_custom_4.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"a9bc965cd0f75a87729ae6a27dbc045f";s:4:"name";s:27:"examples/qfams_custom_4.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:118:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_custom_4.php";}s:27:"examples/qfams_custom_5.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"30b6a12e2d3ebdffa101a647e052ec9b";s:4:"name";s:27:"examples/qfams_custom_5.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:118:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_custom_5.php";}s:27:"examples/qfams_custom_6.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"391c7491d052237649670afcff036e35";s:4:"name";s:27:"examples/qfams_custom_6.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:118:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_custom_6.php";}s:27:"examples/qfams_custom_7.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"6940f13c098f1ed10f57ced6b1f9e678";s:4:"name";s:27:"examples/qfams_custom_7.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:118:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_custom_7.php";}s:27:"examples/qfams_custom_8.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"1de9f5d74a5684bfae1c8af5c9dd5cbd";s:4:"name";s:27:"examples/qfams_custom_8.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:118:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_custom_8.php";}s:27:"examples/qfams_custom_9.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"eedac508da1ddbe659543e418c694756";s:4:"name";s:27:"examples/qfams_custom_9.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:118:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_custom_9.php";}s:29:"examples/qfams_multiple_1.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"08e6f5387049732349e57b8f2e50d496";s:4:"name";s:29:"examples/qfams_multiple_1.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:120:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_multiple_1.php";}s:29:"examples/qfams_multiple_2.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"6a39d1a193310d71c938e7830bf2d66f";s:4:"name";s:29:"examples/qfams_multiple_2.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:120:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_multiple_2.php";}s:29:"examples/qfams_template_1.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"514695d6040fc37b6587e2fbb93de081";s:4:"name";s:29:"examples/qfams_template_1.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:120:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/qfams_template_1.php";}s:15:"examples/up.png";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"8c73c6605797bf55ce6ab9df21e71a4a";s:4:"name";s:15:"examples/up.png";s:4:"role";s:3:"doc";s:12:"installed_as";s:106:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples/up.png";}s:18:"tests/AllTests.php";a:5:{s:14:"baseinstalldir";s:4:"HTML";s:6:"md5sum";s:32:"b751485b8f8fca33509bd202a095758e";s:4:"name";s:18:"tests/AllTests.php";s:4:"role";s:4:"test";s:12:"installed_as";s:110:"debian/php-html-quickform-advmultiselectS/usr/share/php/tests/HTML_QuickForm_advmultiselect/tests/AllTests.php";}s:55:"tests/HTML_QuickForm_advmultiselect_TestSuite_Basic.php";a:5:{s:14:"baseinstalldir";s:4:"HTML";s:6:"md5sum";s:32:"fc1ea1ac3dedaba94d82a0caf1fad565";s:4:"name";s:55:"tests/HTML_QuickForm_advmultiselect_TestSuite_Basic.php";s:4:"role";s:4:"test";s:12:"installed_as";s:147:"debian/php-html-quickform-advmultiselectS/usr/share/php/tests/HTML_QuickForm_advmultiselect/tests/HTML_QuickForm_advmultiselect_TestSuite_Basic.php";}s:56:"tests/HTML_QuickForm_advmultiselect_TestSuite_Custom.php";a:5:{s:14:"baseinstalldir";s:4:"HTML";s:6:"md5sum";s:32:"1a1f776b4c04596c453b565b7525852e";s:4:"name";s:56:"tests/HTML_QuickForm_advmultiselect_TestSuite_Custom.php";s:4:"role";s:4:"test";s:12:"installed_as";s:148:"debian/php-html-quickform-advmultiselectS/usr/share/php/tests/HTML_QuickForm_advmultiselect/tests/HTML_QuickForm_advmultiselect_TestSuite_Custom.php";}s:59:"tests/HTML_QuickForm_advmultiselect_TestSuite_Exception.php";a:5:{s:14:"baseinstalldir";s:4:"HTML";s:6:"md5sum";s:32:"2ec6ec307180cc2c4c43a39bf11ca3ea";s:4:"name";s:59:"tests/HTML_QuickForm_advmultiselect_TestSuite_Exception.php";s:4:"role";s:4:"test";s:12:"installed_as";s:151:"debian/php-html-quickform-advmultiselectS/usr/share/php/tests/HTML_QuickForm_advmultiselect/tests/HTML_QuickForm_advmultiselect_TestSuite_Exception.php";}s:18:"advmultiselect.php";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"cc19c38a8530cdd4cbdfb76fa186f4e4";s:4:"name";s:18:"advmultiselect.php";s:4:"role";s:3:"php";s:12:"installed_as";s:89:"debian/php-html-quickform-advmultiselectS/usr/share/php/HTML/QuickForm/advmultiselect.php";}s:9:"ChangeLog";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"0ea1593fcc96746d6c78fa256af3b3c7";s:4:"name";s:9:"ChangeLog";s:4:"role";s:3:"doc";s:12:"installed_as";s:100:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/ChangeLog";}s:19:"qfamsHandler-min.js";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"633f6ac954655c6a2c98bfccc822054a";s:4:"name";s:19:"qfamsHandler-min.js";s:4:"role";s:4:"data";s:12:"installed_as";s:110:"debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect/qfamsHandler-min.js";}s:15:"qfamsHandler.js";a:5:{s:14:"baseinstalldir";s:14:"HTML/QuickForm";s:6:"md5sum";s:32:"52231c63c953d7468a3c570fd65d202c";s:4:"name";s:15:"qfamsHandler.js";s:4:"role";s:4:"data";s:12:"installed_as";s:106:"debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect/qfamsHandler.js";}}s:12:"_lastversion";N;s:7:"dirtree";a:7:{s:99:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect/examples";b:1;s:90:"debian/php-html-quickform-advmultiselectS/usr/share/php/docs/HTML_QuickForm_advmultiselect";b:1;s:97:"debian/php-html-quickform-advmultiselectS/usr/share/php/tests/HTML_QuickForm_advmultiselect/tests";b:1;s:91:"debian/php-html-quickform-advmultiselectS/usr/share/php/tests/HTML_QuickForm_advmultiselect";b:1;s:70:"debian/php-html-quickform-advmultiselectS/usr/share/php/HTML/QuickForm";b:1;s:60:"debian/php-html-quickform-advmultiselectS/usr/share/php/HTML";b:1;s:90:"debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect";b:1;}s:3:"old";a:7:{s:7:"version";s:5:"1.5.1";s:12:"release_date";s:10:"2009-04-05";s:13:"release_state";s:6:"stable";s:15:"release_license";s:3:"BSD";s:13:"release_notes";s:316:"[+] New features
+ -  None
+
+[*] Improvements / changes
+ -  None
+
+[-] Bugfixes
+ -  single or dual shape is now well commented when using setComment()
+
+[!] Quality Assurance
+ -  Improve unit test suites (for PHPUnit 3.2+) with code coverage closest to 100% (99.81)
+ -  Upgrade HTML_Common dependency from 1.2.4 to 1.2.5";s:12:"release_deps";a:6:{i:0;a:4:{s:4:"type";s:3:"php";s:3:"rel";s:2:"ge";s:7:"version";s:6:"4.3.10";s:8:"optional";s:2:"no";}i:1;a:6:{s:4:"type";s:3:"pkg";s:7:"channel";s:12:"pear.php.net";s:4:"name";s:4:"PEAR";s:3:"rel";s:2:"ge";s:7:"version";s:5:"1.5.4";s:8:"optional";s:2:"no";}i:2;a:6:{s:4:"type";s:3:"pkg";s:7:"channel";s:12:"pear.php.net";s:4:"name";s:11:"HTML_Common";s:3:"rel";s:2:"ge";s:7:"version";s:5:"1.2.5";s:8:"optional";s:2:"no";}i:3;a:6:{s:4:"type";s:3:"pkg";s:7:"channel";s:12:"pear.php.net";s:4:"name";s:14:"HTML_QuickForm";s:3:"rel";s:2:"ge";s:7:"version";s:6:"3.2.10";s:8:"optional";s:2:"no";}i:4;a:4:{s:4:"type";s:3:"ext";s:4:"name";s:4:"pcre";s:3:"rel";s:3:"has";s:8:"optional";s:2:"no";}i:5;a:6:{s:4:"type";s:3:"pkg";s:7:"channel";s:15:"pear.phpunit.de";s:4:"name";s:7:"PHPUnit";s:3:"rel";s:2:"ge";s:7:"version";s:5:"3.2.0";s:8:"optional";s:3:"yes";}}s:11:"maintainers";a:1:{i:0;a:5:{s:4:"name";s:15:"Laurent Laville";s:5:"email";s:24:"pear at laurent-laville.org";s:6:"active";s:3:"yes";s:6:"handle";s:6:"farell";s:4:"role";s:4:"lead";}}}s:10:"xsdversion";s:3:"2.0";s:13:"_lastmodified";i:1244667160;}
\ No newline at end of file

Added: pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/HTML/QuickForm/advmultiselect.php
===================================================================
--- pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/HTML/QuickForm/advmultiselect.php	                        (rev 0)
+++ pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/HTML/QuickForm/advmultiselect.php	2009-12-28 20:42:15 UTC (rev 1322)
@@ -0,0 +1,1178 @@
+<?php
+/**
+ * Copyright (c) 2005-2009, Laurent Laville <pear at laurent-laville.org>
+ *
+ * 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.
+ *     * Neither the name of the authors nor the names of its contributors
+ *       may 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.
+ *
+ * PHP versions 4 and 5
+ *
+ * @category  HTML
+ * @package   HTML_QuickForm_advmultiselect
+ * @author    Laurent Laville <pear at laurent-laville.org>
+ * @copyright 2005-2009 Laurent Laville
+ * @license   http://www.opensource.org/licenses/bsd-license.php  BSD
+ * @version   CVS: $Id: advmultiselect.php,v 1.36 2009/04/05 07:03:39 farell Exp $
+ * @link      http://pear.php.net/package/HTML_QuickForm_advmultiselect
+ * @since     File available since Release 0.4.0
+ */
+
+require_once 'HTML/QuickForm/select.php';
+
+/**
+ * Basic error codes
+ *
+ * @var        integer
+ * @since      1.5.0
+ */
+define('HTML_QUICKFORM_ADVMULTISELECT_ERROR_INVALID_INPUT', 1);
+
+/**
+ * Element for HTML_QuickForm that emulate a multi-select.
+ *
+ * The HTML_QuickForm_advmultiselect package adds an element to the
+ * HTML_QuickForm package that is two select boxes next to each other
+ * emulating a multi-select.
+ *
+ * @category  HTML
+ * @package   HTML_QuickForm_advmultiselect
+ * @author    Laurent Laville <pear at laurent-laville.org>
+ * @copyright 2005-2009 Laurent Laville
+ * @license   http://www.opensource.org/licenses/bsd-license.php  BSD
+ * @version   Release: 1.5.1
+ * @link      http://pear.php.net/package/HTML_QuickForm_advmultiselect
+ * @since     Class available since Release 0.4.0
+ */
+class HTML_QuickForm_advmultiselect extends HTML_QuickForm_select
+{
+    /**
+     * Prefix function name in javascript move selections
+     *
+     * @var        string
+     * @access     private
+     * @since      0.4.0
+     */
+    var $_jsPrefix;
+
+    /**
+     * Postfix function name in javascript move selections
+     *
+     * @var        string
+     * @access     private
+     * @since      0.4.0
+     */
+    var $_jsPostfix;
+
+    /**
+     * Associative array of the multi select container attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      0.4.0
+     */
+    var $_tableAttributes;
+
+    /**
+     * Associative array of the add button attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      0.4.0
+     */
+    var $_addButtonAttributes;
+
+    /**
+     * Associative array of the remove button attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      0.4.0
+     */
+    var $_removeButtonAttributes;
+
+    /**
+     * Associative array of the select all button attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      1.1.0
+     */
+    var $_allButtonAttributes;
+
+    /**
+     * Associative array of the select none button attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      1.1.0
+     */
+    var $_noneButtonAttributes;
+
+    /**
+     * Associative array of the toggle selection button attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      1.1.0
+     */
+    var $_toggleButtonAttributes;
+
+    /**
+     * Associative array of the move up button attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      0.5.0
+     */
+    var $_upButtonAttributes;
+
+    /**
+     * Associative array of the move up button attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      0.5.0
+     */
+    var $_downButtonAttributes;
+
+    /**
+     * Associative array of the move top button attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      1.5.0
+     */
+    var $_topButtonAttributes;
+
+    /**
+     * Associative array of the move bottom button attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      1.5.0
+     */
+    var $_bottomButtonAttributes;
+
+    /**
+     * Defines if both list (unselected, selected) will have their elements be
+     * arranged from lowest to highest (or reverse)
+     * depending on comparaison function.
+     *
+     * SORT_ASC  is used to sort in ascending order
+     * SORT_DESC is used to sort in descending order
+     *
+     * @var    string    ('none' == false, 'asc' == SORT_ASC, 'desc' == SORT_DESC)
+     * @access private
+     * @since  0.5.0
+     */
+    var $_sort;
+
+    /**
+     * Associative array of the unselected item box attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      0.4.0
+     */
+    var $_attributesUnselected;
+
+    /**
+     * Associative array of the selected item box attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      0.4.0
+     */
+    var $_attributesSelected;
+
+    /**
+     * Associative array of the internal hidden box attributes
+     *
+     * @var        array
+     * @access     private
+     * @since      0.4.0
+     */
+    var $_attributesHidden;
+
+    /**
+     * Default Element template string
+     *
+     * @var        string
+     * @access     private
+     * @since      0.4.0
+     */
+    var $_elementTemplate;
+
+    /**
+     * Default Element stylesheet string
+     *
+     * @var        string
+     * @access     private
+     * @since      0.4.0
+     */
+    var $_elementCSS = '
+#qfams_{id} {
+  font: 13.3px sans-serif;
+  background-color: #fff;
+  overflow: auto;
+  height: 14.3em;
+  width: 12em;
+  border-left:   1px solid #404040;
+  border-top:    1px solid #404040;
+  border-bottom: 1px solid #d4d0c8;
+  border-right:  1px solid #d4d0c8;
+}
+#qfams_{id} label {
+  padding-right: 3px;
+  display: block;
+}
+';
+
+    /**
+     * Class constructor
+     *
+     * Class constructors :
+     * Zend Engine 1 uses HTML_QuickForm_advmultiselect, while
+     * Zend Engine 2 uses __construct
+     *
+     * @param string  $elementName  Dual Select name attribute
+     * @param mixed   $elementLabel Label(s) for the select boxes
+     * @param mixed   $options      Data to be used to populate options
+     * @param mixed   $attributes   Either a typical HTML attribute string or
+     *                              an associative array
+     * @param integer $sort         Either SORT_ASC for auto ascending arrange,
+     *                                     SORT_DESC for auto descending arrange, or
+     *                                     NULL for no sort (append at end: default)
+     *
+     * @access     public
+     * @return     void
+     * @since      version 0.4.0 (2005-06-25)
+     */
+    function HTML_QuickForm_advmultiselect($elementName = null, $elementLabel = null,
+                                           $options = null, $attributes = null,
+                                           $sort = null)
+    {
+        $opts    = $options;
+        $options = null;  // prevent to use the default select element load options
+        $this->HTML_QuickForm_select($elementName, $elementLabel,
+            $options, $attributes);
+
+        // allow to load options at once and take care of fancy attributes
+        $this->load($opts);
+
+        // add multiple selection attribute by default if missing
+        $this->updateAttributes(array('multiple' => 'multiple'));
+
+        if (is_null($this->getAttribute('size'))) {
+            // default size is ten item on each select box (left and right)
+            $this->updateAttributes(array('size' => 10));
+        }
+        if (is_null($this->getAttribute('style'))) {
+            // default width of each select box
+            $this->updateAttributes(array('style' => 'width:100px;'));
+        }
+        $this->_tableAttributes = $this->getAttribute('class');
+        if (is_null($this->_tableAttributes)) {
+            // default table layout
+            $attr = array('border' => '0',
+                          'cellpadding' => '10', 'cellspacing' => '0');
+        } else {
+            $attr = array('class' => $this->_tableAttributes);
+            $this->_removeAttr('class', $this->_attributes);
+        }
+        $this->_tableAttributes = $this->_getAttrString($attr);
+
+        // set default add button attributes
+        $this->setButtonAttributes('add');
+        // set default remove button attributes
+        $this->setButtonAttributes('remove');
+        // set default selectall button attributes
+        $this->setButtonAttributes('all');
+        // set default selectnone button attributes
+        $this->setButtonAttributes('none');
+        // set default toggle selection button attributes
+        $this->setButtonAttributes('toggle');
+        // set default move up button attributes
+        $this->setButtonAttributes('moveup');
+        // set default move up button attributes
+        $this->setButtonAttributes('movedown');
+        // set default move top button attributes
+        $this->setButtonAttributes('movetop');
+        // set default move bottom button attributes
+        $this->setButtonAttributes('movebottom');
+        // defines javascript functions names
+        $this->_jsPrefix  = 'QFAMS.';
+        $this->_jsPostfix = 'moveSelection';
+
+        // set select boxes sort order (none by default)
+        if (!isset($sort)) {
+            $sort = false;
+        }
+        if ($sort === SORT_ASC) {
+            $this->_sort = 'asc';
+        } elseif ($sort === SORT_DESC) {
+            $this->_sort = 'desc';
+        } else {
+            $this->_sort = 'none';
+        }
+
+        // set the default advmultiselect element template (with javascript embedded)
+        $this->setElementTemplate();
+    }
+
+    /**
+     * Sets the button attributes
+     *
+     * In <b>custom example 1</b>, the <i>add</i> and <i>remove</i> buttons
+     * have look set by the css class <i>inputCommand</i>.
+     *
+     * In <b>custom example 2</b>, the basic text <i>add</i> and <i>remove</i>
+     * buttons are now replaced by images.
+     *
+     * In <b>custom example 5</b>, we have ability to sort the selection list
+     * (on right side) by :
+     * <pre>
+     *  - <b>user-end</b>: with <i>Up</i> and <i>Down</i> buttons
+     *  - <b>programming</b>: with the QF element constructor $sort option
+     * </pre>
+     *
+     * @param string $button     Button identifier, either 'add', 'remove',
+     *                                                     'all', 'none', 'toggle',
+     *                                                     'movetop', 'movebottom'
+     *                                                     'moveup' or 'movedown'
+     * @param mixed  $attributes (optional) Either a typical HTML attribute string
+     *                                      or an associative array
+     *
+     * @return     void
+     * @throws     PEAR_Error   $button argument
+     *                          is not a string, or not in range
+     *                          (add, remove, all, none, toggle,
+     *                           movetop, movebottom, moveup, movedown)
+     * @access     public
+     * @since      version 0.4.0 (2005-06-25)
+     *
+     * @example    examples/qfams_custom_5.php
+     *             Custom example 5: source code
+     * @link       http://www.laurent-laville.org/img/qfams/screenshot/custom5.png
+     *             Custom example 5: screenshot
+     *
+     * @example    examples/qfams_custom_2.php
+     *             Custom example 2: source code
+     * @link       http://www.laurent-laville.org/img/qfams/screenshot/custom2.png
+     *             Custom example 2: screenshot
+     *
+     * @example    examples/qfams_custom_1.php
+     *             Custom example 1: source code
+     * @link       http://www.laurent-laville.org/img/qfams/screenshot/custom1.png
+     *             Custom example 1: screenshot
+     */
+    function setButtonAttributes($button, $attributes = null)
+    {
+        if (!is_string($button)) {
+            return PEAR::throwError('Argument 1 of HTML_QuickForm_advmultiselect::' .
+                       'setButtonAttributes is not a string',
+                       HTML_QUICKFORM_ADVMULTISELECT_ERROR_INVALID_INPUT,
+                       array('level' => 'exception'));
+        }
+
+        switch ($button) {
+        case 'add':
+            if (is_null($attributes)) {
+                $this->_addButtonAttributes
+                    = array('name'  => 'add',
+                            'value' => ' >> ',
+                            'type'  => 'button');
+            } else {
+                $this->_updateAttrArray($this->_addButtonAttributes,
+                                        $this->_parseAttributes($attributes));
+            }
+            break;
+        case 'remove':
+            if (is_null($attributes)) {
+                $this->_removeButtonAttributes
+                    = array('name'  => 'remove',
+                            'value' => ' << ',
+                            'type'  => 'button');
+            } else {
+                $this->_updateAttrArray($this->_removeButtonAttributes,
+                                        $this->_parseAttributes($attributes));
+            }
+            break;
+        case 'all':
+            if (is_null($attributes)) {
+                $this->_allButtonAttributes
+                    = array('name'  => 'all',
+                            'value' => ' Select All ',
+                            'type'  => 'button');
+            } else {
+                $this->_updateAttrArray($this->_allButtonAttributes,
+                                        $this->_parseAttributes($attributes));
+            }
+            break;
+        case 'none':
+            if (is_null($attributes)) {
+                $this->_noneButtonAttributes
+                    = array('name'  => 'none',
+                            'value' => ' Select None ',
+                            'type'  => 'button');
+            } else {
+                $this->_updateAttrArray($this->_noneButtonAttributes,
+                                        $this->_parseAttributes($attributes));
+            }
+            break;
+        case 'toggle':
+            if (is_null($attributes)) {
+                $this->_toggleButtonAttributes
+                    = array('name'  => 'toggle',
+                            'value' => ' Toggle Selection ',
+                            'type'  => 'button');
+            } else {
+                $this->_updateAttrArray($this->_toggleButtonAttributes,
+                                        $this->_parseAttributes($attributes));
+            }
+            break;
+        case 'moveup':
+            if (is_null($attributes)) {
+                $this->_upButtonAttributes
+                    = array('name'  => 'up',
+                            'value' => ' Up ',
+                            'type'  => 'button');
+            } else {
+                $this->_updateAttrArray($this->_upButtonAttributes,
+                                        $this->_parseAttributes($attributes));
+            }
+            break;
+        case 'movedown':
+            if (is_null($attributes)) {
+                $this->_downButtonAttributes
+                    = array('name'  => 'down',
+                            'value' => ' Down ',
+                            'type'  => 'button');
+            } else {
+                $this->_updateAttrArray($this->_downButtonAttributes,
+                                        $this->_parseAttributes($attributes));
+            }
+            break;
+        case 'movetop':
+            if (is_null($attributes)) {
+                $this->_topButtonAttributes
+                    = array('name'  => 'top',
+                            'value' => ' Top ',
+                            'type'  => 'button');
+            } else {
+                $this->_updateAttrArray($this->_topButtonAttributes,
+                                        $this->_parseAttributes($attributes));
+            }
+            break;
+        case 'movebottom':
+            if (is_null($attributes)) {
+                $this->_bottomButtonAttributes
+                    = array('name'  => 'bottom',
+                            'value' => ' Bottom ',
+                            'type'  => 'button');
+            } else {
+                $this->_updateAttrArray($this->_bottomButtonAttributes,
+                                        $this->_parseAttributes($attributes));
+            }
+            break;
+        default;
+            return PEAR::throwError('Argument 1 of HTML_QuickForm_advmultiselect::' .
+                       'setButtonAttributes has unexpected value',
+                       HTML_QUICKFORM_ADVMULTISELECT_ERROR_INVALID_INPUT,
+                       array('level' => 'error'));
+        }
+    }
+
+    /**
+     * Sets element template
+     *
+     * @param string $html (optional) The HTML surrounding select boxes and buttons
+     * @param string $js   (optional) if we need to include qfams javascript handler
+     *
+     * @access     public
+     * @return     string
+     * @since      version 0.4.0 (2005-06-25)
+     */
+    function setElementTemplate($html = null, $js = true)
+    {
+        $oldTemplate = $this->_elementTemplate;
+
+        if (isset($html) && is_string($html)) {
+            $this->_elementTemplate = $html;
+        } else {
+            $this->_elementTemplate = '
+{javascript}
+<table{class}>
+<!-- BEGIN label_2 --><tr><th>{label_2}</th><!-- END label_2 -->
+<!-- BEGIN label_3 --><th>&nbsp;</th><th>{label_3}</th></tr><!-- END label_3 -->
+<tr>
+  <td valign="top">{unselected}</td>
+  <td align="center">{add}{remove}</td>
+  <td valign="top">{selected}</td>
+</tr>
+</table>
+';
+        }
+        if ($js == false) {
+            $this->_elementTemplate = str_replace('{javascript}', '',
+                                                  $this->_elementTemplate);
+        }
+        return $oldTemplate;
+    }
+
+    /**
+     * Gets default element stylesheet for a single multi-select shape render
+     *
+     * In <b>custom example 4</b>, the template defined allows
+     * a single multi-select checkboxes shape. Useful when javascript is disabled
+     * (or when browser is not js compliant). In our example, no need to add
+     * javascript code, but css is mandatory.
+     *
+     * @param boolean $raw (optional) html output with style tags or just raw data
+     *
+     * @access     public
+     * @return     string
+     * @since      version 0.4.0 (2005-06-25)
+     *
+     * @example    qfams_custom_4.php
+     *             Custom example 4: source code
+     * @link       http://www.laurent-laville.org/img/qfams/screenshot/custom4.png
+     *             Custom example 4: screenshot
+     */
+    function getElementCss($raw = true)
+    {
+        $id  = $this->getAttribute('name');
+        $css = str_replace('{id}', $id, $this->_elementCSS);
+
+        if ($raw !== true) {
+            $css = '<style type="text/css">' . PHP_EOL
+                 . '<!--' . $css . ' -->'    . PHP_EOL
+                 . '</style>';
+        }
+        return $css;
+    }
+
+    /**
+     * Returns the HTML generated for the advanced mutliple select component
+     *
+     * @access     public
+     * @return     string
+     * @since      version 0.4.0 (2005-06-25)
+     */
+    function toHtml()
+    {
+        if ($this->_flagFrozen) {
+            return $this->getFrozenHtml();
+        }
+
+        $tabs    = $this->_getTabs();
+        $tab     = $this->_getTab();
+
+        $selectId       = $this->getName();
+        $selectName     = $this->getName() . '[]';
+        $selectNameFrom = $this->getName() . '-f[]';
+        $selectNameTo   = $this->getName() . '-t[]';
+        $selected_count = 0;
+
+        // placeholder {unselected} existence determines if we will render
+        if (strpos($this->_elementTemplate, '{unselected}') === false) {
+            // ... a single multi-select with checkboxes
+            $this->_jsPostfix = 'editSelection';
+
+            $id = $this->getAttribute('name');
+
+            $strHtmlSelected  = $tab . '<div id="qfams_'.$id.'">'  . PHP_EOL;
+            $unselected_count = count($this->_options);
+
+            $checkbox_id_suffix = 0;
+
+            foreach ($this->_options as $option) {
+                $_labelAttributes
+                    = array('style', 'class', 'onmouseover', 'onmouseout');
+                $labelAttributes = array();
+                foreach ($_labelAttributes as $attr) {
+                    if (isset($option['attr'][$attr])) {
+                        $labelAttributes[$attr] = $option['attr'][$attr];
+                        unset($option['attr'][$attr]);
+                    }
+                }
+
+                if (is_array($this->_values)
+                    && in_array((string)$option['attr']['value'], $this->_values)) {
+                    // The items is *selected*
+                    $checked = ' checked="checked"';
+                    $selected_count++;
+                } else {
+                    // The item is *unselected* so we want to put it
+                    $checked = '';
+                }
+                $checkbox_id_suffix++;
+                $strHtmlSelected .= $tab
+                                 .  '<label'
+                                 .  $this->_getAttrString($labelAttributes) .'>'
+                                 .  '<input type="checkbox"'
+                                 .  ' id="'.$selectId . $checkbox_id_suffix.'"'
+                                 .  ' name="'.$selectName.'"'
+                                 .  $checked
+                                 .  $this->_getAttrString($option['attr'])
+                                 .  ' />' .  $option['text'] . '</label>'
+                                 .  PHP_EOL;
+            }
+            $strHtmlSelected .= $tab . '</div>'. PHP_EOL;
+
+            $strHtmlHidden     = '';
+            $strHtmlUnselected = '';
+            $strHtmlAdd        = '';
+            $strHtmlRemove     = '';
+
+            // build the select all button with all its attributes
+            $jsName     = $this->_jsPrefix . $this->_jsPostfix;
+            $attributes = array('onclick' => $jsName .
+                                             "('". $selectId ."', 1);");
+            $this->_allButtonAttributes
+                        = array_merge($this->_allButtonAttributes, $attributes);
+            $attrStrAll = $this->_getAttrString($this->_allButtonAttributes);
+            $strHtmlAll = "<input$attrStrAll />". PHP_EOL;
+
+            // build the select none button with all its attributes
+            $attributes = array('onclick' => $jsName .
+                                             "('". $selectId ."', 0);");
+            $this->_noneButtonAttributes
+                         = array_merge($this->_noneButtonAttributes, $attributes);
+            $attrStrNone = $this->_getAttrString($this->_noneButtonAttributes);
+            $strHtmlNone = "<input$attrStrNone />". PHP_EOL;
+
+            // build the toggle selection button with all its attributes
+            $attributes = array('onclick' => $jsName .
+                                             "('". $selectId ."', 2);");
+            $this->_toggleButtonAttributes
+                           = array_merge($this->_toggleButtonAttributes,
+                                 $attributes);
+            $attrStrToggle = $this->_getAttrString($this->_toggleButtonAttributes);
+            $strHtmlToggle = "<input$attrStrToggle />". PHP_EOL;
+
+            $strHtmlMoveUp      = '';
+            $strHtmlMoveDown    = '';
+            $strHtmlMoveTop     = '';
+            $strHtmlMoveBottom  = '';
+
+            // default selection counters
+            $strHtmlSelectedCount = $selected_count . '/' . $unselected_count;
+        } else {
+            // ... or a dual multi-select
+            $this->_jsPostfix = 'moveSelection';
+            $jsName           = $this->_jsPrefix . $this->_jsPostfix;
+
+            // set name of Select From Box
+            $this->_attributesUnselected
+                = array('id' => $selectId . '-f',
+                        'name' => $selectNameFrom,
+                        'ondblclick' => $jsName .
+                            "('{$selectId}', ".
+                            "this.form.elements['" . $selectNameFrom . "'], " .
+                            "this.form.elements['" . $selectNameTo . "'], " .
+                            "this.form.elements['" . $selectName . "'], " .
+                            "'add', '{$this->_sort}')");
+            $this->_attributesUnselected
+                = array_merge($this->_attributes, $this->_attributesUnselected);
+            $attrUnselected = $this->_getAttrString($this->_attributesUnselected);
+
+            // set name of Select To Box
+            $this->_attributesSelected
+                = array('id' => $selectId . '-t',
+                        'name' => $selectNameTo,
+                        'ondblclick' => $jsName .
+                            "('{$selectId}', " .
+                            "this.form.elements['" . $selectNameFrom . "'], " .
+                            "this.form.elements['" . $selectNameTo . "'], ".
+                            "this.form.elements['" . $selectName . "'], " .
+                            "'remove', '{$this->_sort}')");
+            $this->_attributesSelected
+                = array_merge($this->_attributes, $this->_attributesSelected);
+            $attrSelected = $this->_getAttrString($this->_attributesSelected);
+
+            // set name of Select hidden Box
+            $this->_attributesHidden
+                = array('name' => $selectName,
+                        'style' => 'overflow: hidden; visibility: hidden; ' .
+                                   'width: 1px; height: 0;');
+            $this->_attributesHidden
+                = array_merge($this->_attributes, $this->_attributesHidden);
+            $attrHidden = $this->_getAttrString($this->_attributesHidden);
+
+            // prepare option tables to be displayed as in POST order
+            $append = count($this->_values);
+            if ($append > 0) {
+                $arrHtmlSelected = array_fill(0, $append, ' ');
+            } else {
+                $arrHtmlSelected = array();
+            }
+
+            $options           = count($this->_options);
+            $arrHtmlUnselected = array();
+            if ($options > 0) {
+                $arrHtmlHidden = array_fill(0, $options, ' ');
+
+                foreach ($this->_options as $option) {
+                    if (is_array($this->_values)
+                        && in_array((string)$option['attr']['value'],
+                               $this->_values)) {
+                        // Get the post order
+                        $key = array_search($option['attr']['value'],
+                                   $this->_values);
+
+                        /** The items is *selected* so we want to put it
+                            in the 'selected' multi-select */
+                        $arrHtmlSelected[$key] = $option;
+                        /** Add it to the 'hidden' multi-select
+                            and set it as 'selected' */
+                        if (isset($option['attr']['disabled'])) {
+                            unset($option['attr']['disabled']);
+                        }
+                        $option['attr']['selected'] = 'selected';
+                        $arrHtmlHidden[$key]        = $option;
+                    } else {
+                        /** The item is *unselected* so we want to put it
+                            in the 'unselected' multi-select */
+                        $arrHtmlUnselected[] = $option;
+                        // Add it to the hidden multi-select as 'unselected'
+                        $arrHtmlHidden[$append] = $option;
+                        $append++;
+                    }
+                }
+            } else {
+                $arrHtmlHidden = array();
+            }
+
+            // The 'unselected' multi-select which appears on the left
+            $unselected_count = count($arrHtmlUnselected);
+
+            if ($unselected_count == 0) {
+                $this->_attributesUnselected['disabled'] = 'disabled';
+                $this->_attributesUnselected
+                    = array_merge($this->_attributes, $this->_attributesUnselected);
+                $attrUnselected = $this->_getAttrString($this->_attributesUnselected);
+            }
+            $strHtmlUnselected = "<select$attrUnselected>". PHP_EOL;
+            if ($unselected_count > 0) {
+                foreach ($arrHtmlUnselected as $data) {
+                    $strHtmlUnselected
+                        .= $tabs . $tab
+                        . '<option' . $this->_getAttrString($data['attr']) . '>'
+                        . $data['text'] . '</option>' . PHP_EOL;
+                }
+            } else {
+                $strHtmlUnselected .= '<option value="">&nbsp;</option>';
+            }
+            $strHtmlUnselected .= '</select>';
+
+            // The 'selected' multi-select which appears on the right
+            $selected_count = count($arrHtmlSelected);
+
+            if ($selected_count == 0) {
+                $this->_attributesSelected['disabled'] = 'disabled';
+                $this->_attributesSelected
+                    = array_merge($this->_attributes, $this->_attributesSelected);
+                $attrSelected = $this->_getAttrString($this->_attributesSelected);
+            }
+            $strHtmlSelected = "<select$attrSelected>". PHP_EOL;
+            if ($selected_count > 0) {
+                foreach ($arrHtmlSelected as $data) {
+                    $strHtmlSelected
+                        .= $tabs . $tab
+                        . '<option' . $this->_getAttrString($data['attr']) . '>'
+                        . $data['text'] . '</option>' . PHP_EOL;
+                }
+            } else {
+                $strHtmlSelected .= '<option value="">&nbsp;</option>';
+            }
+            $strHtmlSelected .= '</select>';
+
+            // The 'hidden' multi-select
+            $strHtmlHidden = "<select$attrHidden>". PHP_EOL;
+            if (count($arrHtmlHidden) > 0) {
+                foreach ($arrHtmlHidden as $data) {
+                    $strHtmlHidden
+                        .= $tabs . $tab
+                        . '<option' . $this->_getAttrString($data['attr']) . '>'
+                        . $data['text'] . '</option>' . PHP_EOL;
+                }
+            }
+            $strHtmlHidden .= '</select>';
+
+            // build the remove button with all its attributes
+            $attributes
+                = array('onclick' => $jsName .
+                            "('{$selectId}', " .
+                            "this.form.elements['" . $selectNameFrom . "'], " .
+                            "this.form.elements['" . $selectNameTo . "'], " .
+                            "this.form.elements['" . $selectName . "'], " .
+                            "'remove', '{$this->_sort}'); return false;");
+            $this->_removeButtonAttributes
+                = array_merge($this->_removeButtonAttributes, $attributes);
+            $attrStrRemove = $this->_getAttrString($this->_removeButtonAttributes);
+            $strHtmlRemove = "<input$attrStrRemove />". PHP_EOL;
+
+            // build the add button with all its attributes
+            $attributes
+                = array('onclick' => $jsName .
+                            "('{$selectId}', " .
+                            "this.form.elements['" . $selectNameFrom . "'], " .
+                            "this.form.elements['" . $selectNameTo . "'], " .
+                            "this.form.elements['" . $selectName . "'], " .
+                            "'add', '{$this->_sort}'); return false;");
+            $this->_addButtonAttributes
+                = array_merge($this->_addButtonAttributes, $attributes);
+            $attrStrAdd = $this->_getAttrString($this->_addButtonAttributes);
+            $strHtmlAdd = "<input$attrStrAdd />". PHP_EOL;
+
+            // build the select all button with all its attributes
+            $attributes
+                = array('onclick' => $jsName .
+                            "('{$selectId}', " .
+                            "this.form.elements['" . $selectNameFrom . "'], " .
+                            "this.form.elements['" . $selectNameTo . "'], " .
+                            "this.form.elements['" . $selectName . "'], " .
+                            "'all', '{$this->_sort}'); return false;");
+            $this->_allButtonAttributes
+                = array_merge($this->_allButtonAttributes, $attributes);
+            $attrStrAll = $this->_getAttrString($this->_allButtonAttributes);
+            $strHtmlAll = "<input$attrStrAll />". PHP_EOL;
+
+            // build the select none button with all its attributes
+            $attributes
+                = array('onclick' => $jsName .
+                            "('{$selectId}', " .
+                            "this.form.elements['" . $selectNameFrom . "'], " .
+                            "this.form.elements['" . $selectNameTo . "'], " .
+                            "this.form.elements['" . $selectName . "'], " .
+                            "'none', '{$this->_sort}'); return false;");
+            $this->_noneButtonAttributes
+                = array_merge($this->_noneButtonAttributes, $attributes);
+            $attrStrNone = $this->_getAttrString($this->_noneButtonAttributes);
+            $strHtmlNone = "<input$attrStrNone />". PHP_EOL;
+
+            // build the toggle button with all its attributes
+            $attributes
+                = array('onclick' => $jsName .
+                            "('{$selectId}', " .
+                            "this.form.elements['" . $selectNameFrom . "'], " .
+                            "this.form.elements['" . $selectNameTo . "'], " .
+                            "this.form.elements['" . $selectName . "'], " .
+                            "'toggle', '{$this->_sort}'); return false;");
+            $this->_toggleButtonAttributes
+                = array_merge($this->_toggleButtonAttributes, $attributes);
+            $attrStrToggle = $this->_getAttrString($this->_toggleButtonAttributes);
+            $strHtmlToggle = "<input$attrStrToggle />". PHP_EOL;
+
+            // build the move up button with all its attributes
+            $attributes
+                = array('onclick' => "{$this->_jsPrefix}moveUp" .
+                            "(this.form.elements['" . $selectNameTo . "'], " .
+                            "this.form.elements['" . $selectName . "']); " .
+                            "return false;");
+            $this->_upButtonAttributes
+                = array_merge($this->_upButtonAttributes, $attributes);
+            $attrStrUp     = $this->_getAttrString($this->_upButtonAttributes);
+            $strHtmlMoveUp = "<input$attrStrUp />". PHP_EOL;
+
+            // build the move down button with all its attributes
+            $attributes
+                = array('onclick' => "{$this->_jsPrefix}moveDown" .
+                            "(this.form.elements['" . $selectNameTo . "'], " .
+                            "this.form.elements['" . $selectName . "']); " .
+                            "return false;");
+            $this->_downButtonAttributes
+                = array_merge($this->_downButtonAttributes, $attributes);
+            $attrStrDown     = $this->_getAttrString($this->_downButtonAttributes);
+            $strHtmlMoveDown = "<input$attrStrDown />". PHP_EOL;
+
+            // build the move top button with all its attributes
+            $attributes
+                = array('onclick' => "{$this->_jsPrefix}moveTop" .
+                            "(this.form.elements['" . $selectNameTo . "'], " .
+                            "this.form.elements['" . $selectName . "']); " .
+                            "return false;");
+            $this->_topButtonAttributes
+                = array_merge($this->_topButtonAttributes, $attributes);
+            $attrStrTop     = $this->_getAttrString($this->_topButtonAttributes);
+            $strHtmlMoveTop = "<input$attrStrTop />". PHP_EOL;
+
+            // build the move bottom button with all its attributes
+            $attributes
+                = array('onclick' => "{$this->_jsPrefix}moveBottom" .
+                            "(this.form.elements['" . $selectNameTo . "'], " .
+                            "this.form.elements['" . $selectName . "']); " .
+                            "return false;");
+            $this->_bottomButtonAttributes
+                = array_merge($this->_bottomButtonAttributes, $attributes);
+            $attrStrBottom     = $this->_getAttrString($this->_bottomButtonAttributes);
+            $strHtmlMoveBottom = "<input$attrStrBottom />". PHP_EOL;
+
+            // default selection counters
+            $strHtmlSelectedCount = $selected_count;
+        }
+        $strHtmlUnselectedCount = $unselected_count;
+
+        $strHtmlSelectedCountId   = $selectId .'_selected';
+        $strHtmlUnselectedCountId = $selectId .'_unselected';
+
+        // render all part of the multi select component with the template
+        $strHtml = $this->_elementTemplate;
+
+        // Prepare multiple labels
+        $labels = $this->getLabel();
+        if (is_array($labels)) {
+            array_shift($labels);
+        }
+        // render extra labels, if any
+        if (is_array($labels)) {
+            foreach ($labels as $key => $text) {
+                $key     = is_int($key)? $key + 2: $key;
+                $strHtml = str_replace("{label_{$key}}", $text, $strHtml);
+                $strHtml = str_replace("<!-- BEGIN label_{$key} -->", '', $strHtml);
+                $strHtml = str_replace("<!-- END label_{$key} -->", '', $strHtml);
+            }
+        }
+        // clean up useless label tags
+        if (strpos($strHtml, '{label_')) {
+            $strHtml = preg_replace('/\s*<!-- BEGIN label_(\S+) -->'.
+                           '.*<!-- END label_\1 -->\s*/i', '', $strHtml);
+        }
+
+        $placeHolders = array(
+            '{stylesheet}', '{javascript}',
+            '{class}',
+            '{unselected_count_id}', '{selected_count_id}',
+            '{unselected_count}', '{selected_count}',
+            '{unselected}', '{selected}',
+            '{add}', '{remove}',
+            '{all}', '{none}', '{toggle}',
+            '{moveup}', '{movedown}',
+            '{movetop}', '{movebottom}'
+        );
+        $htmlElements = array(
+            $this->getElementCss(false), $this->getElementJs(false),
+            $this->_tableAttributes,
+            $strHtmlUnselectedCountId, $strHtmlSelectedCountId,
+            $strHtmlUnselectedCount, $strHtmlSelectedCount,
+            $strHtmlUnselected, $strHtmlSelected . $strHtmlHidden,
+            $strHtmlAdd, $strHtmlRemove,
+            $strHtmlAll, $strHtmlNone, $strHtmlToggle,
+            $strHtmlMoveUp, $strHtmlMoveDown,
+            $strHtmlMoveTop, $strHtmlMoveBottom
+        );
+
+        $strHtml = str_replace($placeHolders, $htmlElements, $strHtml);
+
+        $comment = $this->getComment();
+
+        if (!empty($comment)) {
+            $strHtml = $tabs . '<!-- ' . $comment . " //-->" . PHP_EOL . $strHtml;
+        }
+
+        return $strHtml;
+    }
+
+    /**
+     * Returns the javascript code generated to handle this element
+     *
+     * @param boolean $raw (optional) html output with script tags or just raw data
+     * @param boolean $min (optional) uses javascript compressed version
+     *
+     * @access     public
+     * @return     string
+     * @since      version 0.4.0 (2005-06-25)
+     */
+    function getElementJs($raw = true, $min = false)
+    {
+        $js = 'debian/php-html-quickform-advmultiselectS/usr/share/php/data' . DIRECTORY_SEPARATOR
+            . 'HTML_QuickForm_advmultiselect' . DIRECTORY_SEPARATOR;
+
+        if ($min) {
+            $js .= 'qfamsHandler-min.js';
+        } else {
+            $js .= 'qfamsHandler.js';
+        }
+
+        if (file_exists($js)) {
+            $js = file_get_contents($js);
+        } else {
+            $js = '';
+        }
+
+        if ($raw !== true) {
+            $js = '<script type="text/javascript">'
+                . PHP_EOL . '//<![CDATA['
+                . PHP_EOL . $js
+                . PHP_EOL . '//]]>'
+                . PHP_EOL . '</script>'
+                . PHP_EOL;
+        }
+        return $js;
+    }
+
+    /**
+     * Loads options from different types of data sources
+     *
+     * This method overloaded parent method of select element, to allow
+     * loading options with fancy attributes.
+     *
+     * @param mixed &$options Options source currently supports assoc array or DB_result
+     * @param mixed $param1   (optional) See function detail
+     * @param mixed $param2   (optional) See function detail
+     * @param mixed $param3   (optional) See function detail
+     * @param mixed $param4   (optional) See function detail
+     *
+     * @access     public
+     * @since      version 1.5.0 (2009-02-15)
+     * @return     PEAR_Error|NULL on error and TRUE on success
+     * @throws     PEAR_Error
+     * @see        loadArray()
+     */
+    function load(&$options,
+                  $param1 = null, $param2 = null, $param3 = null, $param4 = null)
+    {
+        if (is_array($options)) {
+            $ret = $this->loadArray($options, $param1);
+        } else {
+            $ret = parent::load($options, $param1, $param2, $param3, $param4);
+        }
+        return $ret;
+    }
+
+    /**
+     * Loads the options from an associative array
+     *
+     * This method overloaded parent method of select element, to allow to load
+     * array of options with fancy attributes.
+     *
+     * @param array $arr    Associative array of options
+     * @param mixed $values (optional) Array or comma delimited string of selected values
+     *
+     * @since      version 1.5.0 (2009-02-15)
+     * @access     public
+     * @return     PEAR_Error on error and TRUE on success
+     * @throws     PEAR_Error
+     * @see        load()
+     */
+    function loadArray($arr, $values = null)
+    {
+        if (!is_array($arr)) {
+            return PEAR::throwError('Argument 1 of HTML_QuickForm_advmultiselect::' .
+                       'loadArray is not a valid array',
+                       HTML_QUICKFORM_ADVMULTISELECT_ERROR_INVALID_INPUT,
+                       array('level' => 'exception'));
+        }
+        if (isset($values)) {
+            $this->setSelected($values);
+        }
+        if (is_array($arr)) {
+            foreach ($arr as $key => $val) {
+                if (is_array($val)) {
+                    $this->addOption($val[0], $key, $val[1]);
+                } else {
+                    $this->addOption($val, $key);
+                }
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Sets which items should be persistant
+     *
+     * Sets which items should have the disabled attribute
+     * to keep it persistant
+     *
+     * @param mixed $optionValues Options (key-values) that should be persistant
+     * @param bool  $persistant   (optional) TRUE if persistant, FALSE otherwise
+     *
+     * @since      version 1.5.0 (2009-02-15)
+     * @access     public
+     * @return     PEAR_Error on error and TRUE on success
+     * @throws     PEAR_Error
+     */
+    function setPersistantOptions($optionValues, $persistant = true)
+    {
+        if (!is_bool($persistant)) {
+            return PEAR::throwError('Argument 2 of HTML_QuickForm_advmultiselect::' .
+                       'setPersistantOptions is not a boolean',
+                       HTML_QUICKFORM_ADVMULTISELECT_ERROR_INVALID_INPUT,
+                       array('level' => 'exception'));
+        }
+        if (is_string($optionValues)) {
+            $optionValues = array($optionValues);
+        }
+        if (!is_array($optionValues)) {
+            return PEAR::throwError('Argument 1 of HTML_QuickForm_advmultiselect::' .
+                       'setPersistantOptions is not a valid array',
+                       HTML_QUICKFORM_ADVMULTISELECT_ERROR_INVALID_INPUT,
+                       array('level' => 'exception'));
+        }
+
+        foreach ($this->_options as $k => $v) {
+            if (in_array($v['attr']['value'], $optionValues)) {
+                if ($persistant) {
+                    $this->_options[$k]['attr']['disabled'] = 'disabled';
+                } else {
+                    unset($this->_options[$k]['attr']['disabled']);
+                }
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Returns list of persistant options
+     *
+     * Returns list of persistant options (key-values) that could not
+     * be selected or unselected.
+     *
+     * @since      version 1.5.0 (2009-02-15)
+     * @access     public
+     * @return     array
+     */
+    function getPersistantOptions()
+    {
+        $options = array();
+
+        foreach ($this->_options as $k => $v) {
+            if (isset($v['attr']['disabled'])) {
+                $options[] = $this->_options[$k]['attr']['value'];
+            }
+        }
+
+        return $options;
+    }
+}
+
+if (class_exists('HTML_QuickForm')) {
+    HTML_QuickForm::registerElementType('advmultiselect',
+        'HTML/QuickForm/advmultiselect.php', 'HTML_QuickForm_advmultiselect');
+}
+?>
\ No newline at end of file

Added: pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect/qfamsHandler-min.js
===================================================================
--- pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect/qfamsHandler-min.js	                        (rev 0)
+++ pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect/qfamsHandler-min.js	2009-12-28 20:42:15 UTC (rev 1322)
@@ -0,0 +1 @@
+if(typeof QFAMS==="undefined"||!QFAMS){var QFAMS={}}QFAMS.env=QFAMS.env||{persistantSelection:false,persistantMove:true};QFAMS.updateCounter=function(c,v){var i;var nodeText=null;if(c!==null){if(c.childNodes){for(i=0;i<c.childNodes.length;i++){c.removeChild(c.childNodes[i])}}nodeText=document.createTextNode(v);c.appendChild(nodeText)}};QFAMS.updateLiveCounter=function(){var lbl=this.parentNode;var selectedCount=0;var div=lbl.parentNode;var inputs=div.getElementsByTagName('input');for(var i=0;i<inputs.length;i++){if(inputs[i].checked==1){selectedCount++}}var e=div.id;var qfamsName=e.substring(e.indexOf('_',0)+1,e.length);var span=document.getElementById(qfamsName+'_selected');QFAMS.updateCounter(span,selectedCount+'/'+inputs.length)};QFAMS.editSelection=function(qfamsName,selectMode){if(selectMode!==0&&selectMode!==1&&selectMode!==2){return}var selectedCount=0;var ams=document.getElementById('qfams_'+qfamsName);var inputs=ams.getElementsByTagName('input');for(var i=0;i<inputs.length;i++){if(selectMode===2){if(inputs[i].checked==0){inputs[i].checked=1}else if(inputs[i].checked==1){inputs[i].checked=0}}else{inputs[i].checked=selectMode}if(inputs[i].checked==1){selectedCount++}}var span=document.getElementById(qfamsName+'_selected');QFAMS.updateCounter(span,selectedCount+'/'+inputs.length)};QFAMS.moveSelection=function(qfamsName,selectLeft,selectRight,selectHidden,action,arrange){var isIE=/*@cc_on!@*/false;var source=null;var target=null;var option;var c=null;var s=null;var i;var maxFrom,maxTo;if(action==='add'||action==='all'||action==='toggle'){source=selectLeft;target=selectRight}else{source=selectRight;target=selectLeft}if(source.selectedIndex===-1&&(action==='add'||action==='remove')){return}maxFrom=source.options.length;maxTo=target.options.length;if(maxTo>0&&target.options[0].value===""){target.removeAttribute("disabled");target.options[0]=null}for(i=(maxFrom-1);i>=0;i--){if(action==='all'||action==='none'||action==='toggle'||source.options[i].selected===true){if(source.options[i].disabled===false){if(isIE){option=source.options[i].removeNode(true);option.selected=QFAMS.env.persistantSelection;target.appendChild(option)}else{option=source.options[i].cloneNode(true);option.selected=QFAMS.env.persistantSelection;target.options[target.options.length]=option}}}}if(!isIE){for(i=(maxFrom-1);i>=0;i--){if(action==='all'||action==='none'||action==='toggle'||source.options[i].selected===true){if(source.options[i].disabled===false){source.options[i]=null}}}}if(action==='toggle'){for(i=(maxTo-1);i>=0;i--){if(target.options[i].disabled===false){if(isIE){option=target.options[i].removeNode(true);option.selected=QFAMS.env.persistantSelection;source.appendChild(option)}else{option=target.options[i].cloneNode(true);option.selected=QFAMS.env.persistantSelection;source.options[source.options.length]=option}}}if(!isIE){for(i=(maxTo-1);i>=0;i--){if(target.options[i].disabled===false){target.options[i]=null}}}}c=document.getElementById(qfamsName+'_unselected');s=document.getElementById(qfamsName+'-f');QFAMS.updateCounter(c,s.length);c=document.getElementById(qfamsName+'_selected');s=document.getElementById(qfamsName+'-t');QFAMS.updateCounter(c,s.length);if(arrange!=='none'){QFAMS.sortList(target,QFAMS.compareText,arrange)}QFAMS.updateHidden(selectHidden,selectRight)};QFAMS.sortList=function(list,compareFunction,arrange){var i;var options=new Array(list.options.length);for(i=0;i<options.length;i++){options[i]=new Option(list.options[i].text,list.options[i].value,list.options[i].defaultSelected,list.options[i].selected)}options.sort(compareFunction);if(arrange==='desc'){options.reverse()}list.options.length=0;for(i=0;i<options.length;i++){list.options[i]=options[i]}};QFAMS.compareText=function(option1,option2){if(option1.text===option2.text){return 0}return option1.text<option2.text?-1:1};QFAMS.updateHidden=function(h,r){var i;for(i=0;i<h.length;i++){h.options[i].selected=false}for(i=0;i<r.length;i++){h.options[h.length]=new Option(r.options[i].text,r.options[i].value);h.options[h.length-1].selected=true}};QFAMS.moveUp=function(l,h){var indice=l.selectedIndex;if(indice<0){return}if(indice>0){QFAMS.moveSwap(l,indice,indice-1);QFAMS.updateHidden(h,l)}};QFAMS.moveDown=function(l,h){var indice=l.selectedIndex;if(indice<0){return}if(indice<l.options.length-1){QFAMS.moveSwap(l,indice,indice+1);QFAMS.updateHidden(h,l)}};QFAMS.moveTop=function(l,h){var indice=l.selectedIndex;if(indice<0){return}while(indice>0){QFAMS.moveSwap(l,indice,indice-1);QFAMS.updateHidden(h,l);indice--}};QFAMS.moveBottom=function(l,h){var indice=l.selectedIndex;if(indice<0){return}while(indice<l.options.length-1){QFAMS.moveSwap(l,indice,indice+1);QFAMS.updateHidden(h,l);indice++}};QFAMS.moveSwap=function(l,i,j){var node;node=l.replaceChild(l.options[i],l.options[j]);if(i>j){l.insertBefore(node,l.options[j].nextSibling)}else{l.insertBefore(node,l.options[i])}if(QFAMS.env.persistantMove){l.selectedIndex=j}else{l.selectedIndex=-1}};QFAMS.init=function(elm){var e,i;for(e=0;e<elm.length;e++){var div=document.getElementById('qfams_'+elm[e]);if(div!==null){var inputs=div.getElementsByTagName('input');if(inputs!==null){for(i=0;i<inputs.length;i++){inputs[i].onclick=QFAMS.updateLiveCounter}}}}};
\ No newline at end of file

Added: pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect/qfamsHandler.js
===================================================================
--- pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect/qfamsHandler.js	                        (rev 0)
+++ pear/php-html-quickform-advmultiselect/trunk/debian/php-html-quickform-advmultiselectS/usr/share/php/data/HTML_QuickForm_advmultiselect/qfamsHandler.js	2009-12-28 20:42:15 UTC (rev 1322)
@@ -0,0 +1,514 @@
+/**
+ * JavaScript functions to handle standard behaviors of a QuickForm advmultiselect element
+ *
+ * @category   HTML
+ * @package    HTML_QuickForm_advmultiselect
+ * @author     Laurent Laville <pear at laurent-laville.org>
+ * @copyright  2007-2009 Laurent Laville
+ * @license    http://www.opensource.org/licenses/bsd-license.php  New BSD License
+ * @version    CVS: $Id: qfamsHandler.js,v 1.13 2009/02/06 09:49:22 farell Exp $
+ * @since      File available since Release 1.3.0
+ */
+
+if (typeof QFAMS === "undefined" || !QFAMS) {
+    /**
+     * The QFAMS global namespace object.  If QFAMS is already defined, the
+     * existing QFAMS object will not be overwritten so that defined
+     * namespaces are preserved.
+     * @class   QFAMS
+     * @static
+     * @public
+     * @since   1.5.0
+     */
+    var QFAMS = {};
+}
+
+/**
+ * QFAMS.env is used to keep track of end-user preferences
+ * for persistant values.
+ *
+ * @class QFAMS.env
+ * @static
+ */
+QFAMS.env = QFAMS.env || {
+    /**
+     * Keeps the persistant selection preference when items are selected or unselected
+     *
+     * @property persistantSelection
+     * @type     Boolean
+     */
+    persistantSelection: false,
+
+    /**
+     * Keeps the persistant selection preference when items are moved up or down
+     *
+     * @property persistantMove
+     * @type     Boolean
+     */
+    persistantMove: true
+};
+
+/**
+ * Uses QFAMS.updateCounter as a
+ * text tools to replace all childs of 'c' element by a new text node of 'v' value
+ *
+ * @param      dom element   c    html element; <span> is best use in most case
+ * @param      string        v    new counter value
+ *
+ * @method     updateCounter
+ * @static
+ * @return     void
+ * @public
+ * @since      1.5.0
+ */
+QFAMS.updateCounter = function (c, v) {
+    var i;
+    var nodeText = null;
+
+    if (c !== null) {
+        // remove all previous child nodes of 'c' element
+        if (c.childNodes) {
+            for (i = 0; i < c.childNodes.length; i++) {
+                c.removeChild(c.childNodes[i]);
+            }
+        }
+        // add new text value 'v'
+        nodeText = document.createTextNode(v);
+        c.appendChild(nodeText);
+    }
+};
+
+/**
+ * Uses QFAMS.updateLiveCounter as a
+ * standard onclick event handler to dynamic change value of counter
+ * that display current selection
+ *
+ * @method     updateLiveCounter
+ * @static
+ * @return     void
+ * @private
+ * @since      1.5.0
+ */
+QFAMS.updateLiveCounter =  function () {
+    var lbl           = this.parentNode;
+    var selectedCount = 0;
+
+    // Find all the checkboxes...
+    var div    = lbl.parentNode;
+    var inputs = div.getElementsByTagName('input');
+    for (var i = 0; i < inputs.length; i++) {
+        if (inputs[i].checked == 1) {
+            selectedCount++;
+        }
+    }
+    var e         = div.id;
+    var qfamsName = e.substring(e.indexOf('_', 0) + 1, e.length);
+    // updates item count
+    var span = document.getElementById(qfamsName + '_selected');
+    QFAMS.updateCounter(span, selectedCount + '/' + inputs.length);
+};
+
+/**
+ * Uses QFAMS.editSelection
+ * in single select box mode, to edit current selection and update live counter
+ *
+ * @param      string        qfamsName      QuickForm advmultiselect element name
+ * @param      integer       selectMode     Selection mode (0 = uncheck, 1 = check, 2 = toggle)
+ *
+ * @method     editSelection
+ * @static
+ * @return     void
+ * @public
+ * @since      1.5.0
+ */
+QFAMS.editSelection = function (qfamsName, selectMode) {
+    if (selectMode !== 0 && selectMode !== 1 && selectMode !== 2) {
+        return;
+    }
+    var selectedCount = 0;
+
+    // Find all the checkboxes...
+    var ams    = document.getElementById('qfams_' + qfamsName);
+    var inputs = ams.getElementsByTagName('input');
+
+    // Loop through all checkboxes (input element)
+    for (var i = 0; i < inputs.length; i++) {
+        if (selectMode === 2) {
+            if (inputs[i].checked == 0) {
+                inputs[i].checked = 1;
+            } else if (inputs[i].checked == 1) {
+                inputs[i].checked = 0;
+            }
+        } else {
+            inputs[i].checked = selectMode;
+        }
+        if (inputs[i].checked == 1) {
+            selectedCount++;
+        }
+    }
+
+    // updates selected item count
+    var span = document.getElementById(qfamsName + '_selected');
+    QFAMS.updateCounter(span, selectedCount + '/' + inputs.length);
+};
+
+/**
+ * Uses QFAMS.moveSelection
+ * in double select box mode, to move current selection and update live counter
+ *
+ * @param      string        qfamsName      QuickForm advmultiselect element name
+ * @param      dom element   selectLeft     Data source list
+ * @param      dom element   selectRight    Target data list
+ * @param      dom element   selectHidden   Full data source (selected, unselected)
+ *                                          private usage
+ * @param      string        action         Action name (add, remove, all, none, toggle)
+ * @param      string        arrange        Sort option (none, asc, desc)
+ *
+ * @method     moveSelection
+ * @static
+ * @return     void
+ * @public
+ * @since      1.5.0
+ */
+QFAMS.moveSelection = function (qfamsName, selectLeft, selectRight, selectHidden, action, arrange) {
+    var isIE = /*@cc_on!@*/false; //IE detector
+    var source = null;
+    var target = null;
+    var option;
+    var c      = null;
+    var s      = null;
+    var i;
+    var maxFrom, maxTo;
+
+    if (action === 'add' || action === 'all' || action === 'toggle') {
+        source = selectLeft;
+        target = selectRight;
+    } else {
+        source = selectRight;
+        target = selectLeft;
+    }
+    // Don't do anything if nothing selected. Otherwise we throw javascript errors.
+    if (source.selectedIndex === -1 && (action === 'add' || action === 'remove')) {
+        return;
+    }
+    maxFrom = source.options.length;
+    maxTo   = target.options.length;
+
+    // check if target list is empty and remove fake empty option (tip to be XHTML compliant)
+    if (maxTo > 0 && target.options[0].value === "") {
+        target.removeAttribute("disabled");
+        target.options[0] = null;
+    }
+
+    // Add items to the 'TO' list.
+    for (i = (maxFrom - 1); i >= 0; i--) {
+        if (action === 'all' || action === 'none' || action === 'toggle' || source.options[i].selected === true) {
+            if (source.options[i].disabled === false) {
+                if (isIE) {
+                    option = source.options[i].removeNode(true);
+                    option.selected = QFAMS.env.persistantSelection;
+                    target.appendChild(option);
+                } else {
+                    option = source.options[i].cloneNode(true);
+                    option.selected = QFAMS.env.persistantSelection;
+                    target.options[target.options.length] = option;
+                }
+            }
+        }
+    }
+
+    // Remove items from the 'FROM' list.
+    if (!isIE) {
+        for (i = (maxFrom - 1); i >= 0; i--) {
+            if (action === 'all' || action === 'none' || action === 'toggle' || source.options[i].selected === true) {
+                if (source.options[i].disabled === false) {
+                    source.options[i] = null;
+                }
+            }
+        }
+    }
+
+    // Add items to the 'FROM' list for toggle function
+    if (action === 'toggle') {
+        for (i = (maxTo - 1); i >= 0; i--) {
+            if (target.options[i].disabled === false) {
+                if (isIE) {
+                    option = target.options[i].removeNode(true);
+                    option.selected = QFAMS.env.persistantSelection;
+                    source.appendChild(option);
+                } else {
+                    option = target.options[i].cloneNode(true);
+                    option.selected = QFAMS.env.persistantSelection;
+                    source.options[source.options.length] = option;
+                }
+            }
+        }
+        if (!isIE) {
+            for (i = (maxTo - 1); i >= 0; i--) {
+                if (target.options[i].disabled === false) {
+                    target.options[i] = null;
+                }
+            }
+        }
+    }
+
+    // updates unselected item count
+    c = document.getElementById(qfamsName + '_unselected');
+    s = document.getElementById(qfamsName + '-f');
+    QFAMS.updateCounter(c, s.length);
+
+    // updates selected item count
+    c = document.getElementById(qfamsName + '_selected');
+    s = document.getElementById(qfamsName + '-t');
+    QFAMS.updateCounter(c, s.length);
+
+    // Sort list if required
+    if (arrange !== 'none') {
+        QFAMS.sortList(target, QFAMS.compareText, arrange);
+    }
+
+    // Set the appropriate items as 'selected in the hidden select.
+    // These are the values that will actually be posted with the form.
+    QFAMS.updateHidden(selectHidden, selectRight);
+};
+
+/**
+ * Uses QFAMS.sortList to
+ * sort selection list if option is given in HTML_QuickForm_advmultiselect class constructor
+ *
+ * @param      dom element   list           Selection data list
+ * @param      prototype     compareFunction to sort each element of a list
+ * @param      string        arrange        Sort option (none, asc, desc)
+ *
+ * @method     sortList
+ * @static
+ * @return     void
+ * @private
+ * @since      1.5.0
+ */
+QFAMS.sortList = function (list, compareFunction, arrange)
+{
+    var i;
+    var options = new Array(list.options.length);
+
+    for (i = 0; i < options.length; i++) {
+        options[i] = new Option(list.options[i].text,
+                                list.options[i].value,
+                                list.options[i].defaultSelected,
+                                list.options[i].selected);
+    }
+    options.sort(compareFunction);
+    if (arrange === 'desc') {
+        options.reverse();
+    }
+    list.options.length = 0;
+    for (i = 0; i < options.length; i++) {
+        list.options[i] = options[i];
+    }
+};
+
+/**
+ * QFAMS.compareText
+ * is a callback function to sort each element of two lists A and B
+ *
+ * @param      string        option1        single element of list A
+ * @param      string        option2        single element of list B
+ *
+ * @method     compareText
+ * @static
+ * @return     integer       -1 if option1 is less than option2,
+ *                            0 if option1 is equal to option2
+ *                            1 if option1 is greater than option2
+ * @private
+ * @since      1.5.0
+ */
+QFAMS.compareText = function (option1, option2) {
+    if (option1.text === option2.text) {
+        return 0;
+    }
+    return option1.text < option2.text ? -1 : 1;
+};
+
+/**
+ * QFAMS.updateHidden
+ * updates the private list that handle selection of all elements (selected and unselected)
+ *
+ * @param      dom element   h              hidden list (contains all elements)
+ * @param      dom element   r              selection list (contains only elements selected)
+ *
+ * @method     updateHidden
+ * @static
+ * @return     void
+ * @private
+ * @since      1.5.0
+ */
+QFAMS.updateHidden = function (h, r) {
+    var i;
+
+    for (i = 0; i < h.length; i++) {
+        h.options[i].selected = false;
+    }
+
+    for (i = 0; i < r.length; i++) {
+        h.options[h.length] = new Option(r.options[i].text, r.options[i].value);
+        h.options[h.length - 1].selected = true;
+    }
+};
+
+/**
+ * With QFAMS.moveUp
+ * end-user may arrange and element up to the selection list
+ *
+ * @param      dom element   l              selection list (contains only elements selected)
+ * @param      dom element   h              hidden list (contains all elements)
+ *
+ * @method     moveUp
+ * @static
+ * @return     void
+ * @public
+ * @since      1.5.0
+ */
+QFAMS.moveUp = function (l, h) {
+    var indice = l.selectedIndex;
+    if (indice < 0) {
+        return;
+    }
+    if (indice > 0) {
+        QFAMS.moveSwap(l, indice, indice - 1);
+        QFAMS.updateHidden(h, l);
+    }
+};
+
+/**
+ * With QFAMS.moveDown
+ * end-user may arrange and element down to the selection list
+ *
+ * @param      dom element   l              selection list (contains only elements selected)
+ * @param      dom element   h              hidden list (contains all elements)
+ *
+ * @method     moveDown
+ * @static
+ * @return     void
+ * @public
+ * @since      1.5.0
+ */
+QFAMS.moveDown = function (l, h) {
+    var indice = l.selectedIndex;
+    if (indice < 0) {
+        return;
+    }
+    if (indice < l.options.length - 1) {
+        QFAMS.moveSwap(l, indice, indice + 1);
+        QFAMS.updateHidden(h, l);
+    }
+};
+
+/**
+ * With QFAMS.moveTop
+ * end-user may arrange and element up to the top of selection list
+ *
+ * @param      dom element   l              selection list (contains only elements selected)
+ * @param      dom element   h              hidden list (contains all elements)
+ *
+ * @method     moveTop
+ * @static
+ * @return     void
+ * @public
+ * @since      1.5.0
+ */
+QFAMS.moveTop = function (l, h) {
+    var indice = l.selectedIndex;
+    if (indice < 0) {
+        return;
+    }
+    while (indice > 0) {
+        QFAMS.moveSwap(l, indice, indice - 1);
+        QFAMS.updateHidden(h, l);
+        indice--;
+    }
+};
+
+/**
+ * With QFAMS.moveBottom
+ * end-user may arrange and element down to the bottom of selection list
+ *
+ * @param      dom element   l              selection list (contains only elements selected)
+ * @param      dom element   h              hidden list (contains all elements)
+ *
+ * @method     moveBottom
+ * @static
+ * @return     void
+ * @public
+ * @since      1.5.0
+ */
+QFAMS.moveBottom = function (l, h) {
+    var indice = l.selectedIndex;
+    if (indice < 0) {
+        return;
+    }
+    while (indice < l.options.length - 1) {
+        QFAMS.moveSwap(l, indice, indice + 1);
+        QFAMS.updateHidden(h, l);
+        indice++;
+    }
+};
+
+/**
+ * With QFAMS.moveSwap
+ * end-user may invert two elements position in the selection list
+ *
+ * @param      dom element   l              selection list (contains only elements selected)
+ * @param      integer       i              element source indice
+ * @param      integer       j              element target indice
+ *
+ * @method     moveSwap
+ * @static
+ * @return     void
+ * @public
+ * @since      1.5.0
+ */
+QFAMS.moveSwap = function (l, i, j) {
+    var node;
+
+    node = l.replaceChild(l.options[i], l.options[j]);
+    if (i > j) {
+        l.insertBefore(node, l.options[j].nextSibling);
+    } else {
+        l.insertBefore(node, l.options[i]);
+    }
+
+    if (QFAMS.env.persistantMove) {
+        l.selectedIndex = j;
+    } else {
+        l.selectedIndex = -1;
+    }
+};
+
+/**
+ * Uses QFAMS.init to
+ * initialize onclick event handler for all checkbox element
+ * of a QuickForm advmultiselect element with single select box.
+ *
+ * @method     init
+ * @static
+ * @return     void
+ * @public
+ * @since      1.5.0
+ */
+QFAMS.init = function (elm)
+{
+    var e, i;
+
+    for (e = 0; e < elm.length; e++) {
+        var div = document.getElementById('qfams_' + elm[e]);
+        if (div !== null) {
+            var inputs = div.getElementsByTagName('input');
+            if (inputs !== null) {
+                for (i = 0; i < inputs.length; i++) {
+                    inputs[i].onclick = QFAMS.updateLiveCounter;
+                }
+            }
+        }
+    }
+};
+

Added: pear/php-html-quickform-advmultiselect/trunk/debian/rules
===================================================================
--- pear/php-html-quickform-advmultiselect/trunk/debian/rules	                        (rev 0)
+++ pear/php-html-quickform-advmultiselect/trunk/debian/rules	2009-12-28 20:42:15 UTC (rev 1322)
@@ -0,0 +1,80 @@
+#!/usr/bin/make -f
+# template debian/rules provided by dh-make-php.
+
+DEB_COMPRESS_EXCLUDE=package.xml
+
+#include /usr/share/cdbs/1/rules/debhelper.mk
+#include /usr/share/cdbs/1/class/pear.mk
+
+DEB_VERSION := $(shell dpkg-parsechangelog | egrep '^Version' | cut -f 2 -d ' ')
+DEB_NOEPOCH_VERSION := $(shell echo $(DEB_VERSION) | cut -d: -f2-)
+DEB_UPSTREAM_VERSION := $(shell echo $(DEB_NOEPOCH_VERSION) | sed 's/-[^-]*$$//')
+
+PEAR ?= /usr/bin/pear
+pear_pkg = $(shell ls |grep HTML_QuickForm_advmultiselect)
+package = php-html-quickform-advmultiselect
+
+configure: configure-stamp
+configure-stamp:
+	dh_testdir
+	touch configure-stamp
+
+build: build-stamp
+
+build-stamp: configure-stamp
+	dh_testdir
+	touch build-stamp
+
+clean:
+	dh_testdir
+	dh_testroot
+	if [ -f $(pear_pkg)/package.xml ]; then \
+	rm $(pear_pkg)/package.xml; \
+	fi
+	dh_clean build-stamp configure-stamp
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs
+
+        # commands to install the package into debian/package.
+	cp package.xml $(pear_pkg)/package.xml;
+	$(PEAR) install -f -n -f -R debian/$(package) $(pear_pkg)/package.xml;
+	rm -f debian/$(package)/usr/share/php/.filemap;
+	rm -f debian/$(package)/usr/share/php/.lock;
+	rm -rf debian/$(package)/usr/share/php/.channels;
+	rm -rf debian/$(package)/usr/share/php/.depdblock;
+	rm -rf debian/$(package)/usr/share/php/.depdb;
+	rm -rf debian/$(package)/usr/share/php/.registry/.channel.pecl.php.net;
+	rm -rf debian/$(package)/usr/share/php/.registry/.channel.__uri;
+
+    # remove duplicated files, these files are in /usr/share/doc/package
+	rm -rf debian/$(package)/usr/share/php/tests;
+	rm -rf debian/$(package)/usr/share/php/docs;
+
+    # remove created tmp dir
+	rm -rf debian/$(package)/tmp
+
+# Build architecture-dependent files here.
+binary-arch: build install
+# We have nothing to do by default.
+
+# Build architecture-independent files here.
+binary-indep: build install
+	dh_testdir
+	dh_testroot
+	dh_installdocs
+	dh_installexamples
+	dh_installchangelogs 
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
+


Property changes on: pear/php-html-quickform-advmultiselect/trunk/debian/rules
___________________________________________________________________
Added: svn:executable
   + *

Added: pear/php-html-quickform-advmultiselect/trunk/debian/watch
===================================================================
--- pear/php-html-quickform-advmultiselect/trunk/debian/watch	                        (rev 0)
+++ pear/php-html-quickform-advmultiselect/trunk/debian/watch	2009-12-28 20:42:15 UTC (rev 1322)
@@ -0,0 +1,5 @@
+# watch control file for uscan
+# Site		Directory	Pattern		Version 	Script
+version=3
+http://pear.php.net/package/HTML_QuickForm_advmultiselect/download /get/HTML_QuickForm_advmultiselect-([\d.]+)\.tgz debian uupdate
+




More information about the Pkg-php-commits mailing list