Current File : //opt/RZphp74/includes/doc/HTML_TreeMenu/docs/HTML_TreeMenu.doc
��ࡱ�>��	np����m�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������E@	���4bjbj���	;^���,O�������hhhhhhh|�6�6�687Lh7T|�D��7^&8:`8`8`8`8T�8�8_DaDaDaDaDaDaD$�FR�HN�Dh�8`8`8�8�8�Dhh`8`8�DT:T:T:�8�h`8h`8_DT:�8_DT:T:h:V�B@hh�C`8�7@ި�����6b9�'C_D�D0�D3Cx I�9p I�C||hhhh Ih�C��8�8T:�8�8�8�8�8�D�D||�@"�T:||@"HTML_TreeMenu Documentation

Introduction

HTML_TreeMenu is a set of PHP classes to enable the easy creation of HTML based tree menus. It currently has the ability to create both DHTML, static and listbox menus. All have the prerequisite of Javascript, however the Javscript code could be used manually, without the PHP classes. 


Authors

HTML_TreeMenu was written by Richard Heyes and Harald Radi. Contributions/patches have also been received and incorporated from various people.


Features

Easy to learn OO based API
DHTML (traditional) or listbox (<select>) output styles
Multiple menus per page
Cross browser DOM compatible DHTML
Optional branch status persistence using cookies
Optional static mode without DHTML (still requires Javascript support)
Per node icon with alternate �expanded� icon
Per node CSS class specification
Per node link targets
Per node Javascript event specification with custom onExpand, onCollapse and onToggle events
Ability to specify from menu creation if a node is expanded by default, and if it should be made to be visible (ie its parents are expanded)
	

Structure Overview

There are five classes in total:

	HTML_TreeMenu			The �top level� tree class.
	HTML_TreeNode			The node class.
	HTML_TreeMenu_Presentation	An abstract base class for the next 					two classes.
	HTML_TreeMenu_DHTML	Produces a DHTML style menu.
	HTML_TreeMenu_Listbox	Produces a listbox menu.

The HTML_TreeNode class is used to create the structure which is added to an instance of the HTML_TreeMenu class. This is in turn passed to an instance of either of the presentation classes (DHTML or Listbox). These two �presentation� classes have a printMenu() method which can be called to print the resulting menu.
Example

See the example.php file for the code. This code makes a simple menu with two root nodes, each with five nested nodes. The code goes about creating the initial HTML_TreeMenu object, and then creates the nodes to be added. The nodes are then added to the menu object, which itself is then passed to an instance of the HTML_TreeMenu_DHTML object (through the constructor)  and also an HTML_TreeMenu_Listbox object. Then follows some HTML in which the printMenu() method of each presentation object is called to show the menus. Note the use of references when assigning the return of addItem(). Failure to assign by reference will cause problems.


API Reference

HTML_TreeMenu

	Methods
		&addItem(object &$node)
		This method is used to add a HTML_TreeNode to the tree. It 		takes a HTML_TreeNode as its sole argument and returns a 			reference to the node inside the TreeMenu object.

		createFromStructure(array $params)
		This method is an extremely useful one if you already have a
		tree structure defined using one of the supported tree classes. 		It takes said tree structure and returns a tree menu based 			upon it. This takes the work out of traversing your tree and
		creating the structure yourself. The supported tree structures
		are Richard Heyes� Tree class
		( HYPERLINK "http://www.phpguru.org/tree.html" http://www.phpguru.org/tree.html) and Wolfram Kriesings�
		Tree class available through PEAR  HYPERLINK "http://pear.php.net/Tree" http://pear.php.net/Tree.
		The $params argument should be an associative array which 
		can consist of the following:

			structure		The tree structure
			type			The type. Defaults to �heyes�.
						Can also be �kriesing�.
			nodeOptions		Default HTML_TreeNode options
						which are used whilst building the
						menu. In the case of my own Tree
						class, these will be merged with the
						tag data.

		The return value is the HTML_TreeMenu object.
		createFromXML(mixed $xml)
		This method will create an HTML_TreeMenu object from the
		supplied $xml argument. This argument can either be a string
		containing the XML, or a PEAR::XML_Tree object. If the
		argument is a string, the method will attempt to require() the
		XML_Tree class using standard PEAR techniques (ie:
		require_once(�XML/Tree.php�) ), and then create an
		XML_Tree object based on the string. The method will then
		convert the XML_Tree object to a Tree class using my own
		Tree class (available here:  HYPERLINK "http://phpguru.org/tree.html" http://phpguru.org/tree.html) so
		this file (Tree.php) MUST be include()ed or require()ed
		before calling this method. If the Tree class cannot be found,
		this method will die(). Once converted, the method will then
		use the createFromStructure() method described above to
		create an HTML_TreeMenu object and return it. For further
		information on using this method and the XML schema see
		the case study below.

HTML_TreeNode

	Methods
		Constructor([array $options [, array $events]])
		The constructor handles setting up the node object based on
		the options supplied. The $options argument should be an
		associative array which can consist of the following:

			text			Title of the node, defaults to blank.
			link			HREF of the link, defaults to
						blank.
			icon			Filename of the icon. Should be in
						the images directory as supplied to
						the presentation object.
			expandedIcon	Filename of the icon to be used
						when the node is expanded.
			class			CSS class for this node, defaults to
						blank.
			expanded		Default expanded status of this
						node. Defaults to false, and has no
						effect on non dynamic
						presentations.
			linkTarget		Target for the link. Defaults to
						linkTarget of the presentation
						class.
			isDynamic		If this node is dynamic or not.
						Defaults to true.
			ensureVisible		If true, this node will be made
						visible regardless of the expanded
						settings and clientside persistence.
						Defaults to false.

		The second argument is an associative array of Javascript
		events and associated handler code. This can also include
		three custom events: onexpand, oncollapse, and ontoggle,
		which should be self explanatory. This argument could also
		be supplied as the events key in the first argument.
		setOption(string $option, mixed $value)
		Use this method to set any of the options after the node has
		been created. The option names are the same as those in the
		constructor, and take similar values.

		&addItem(object &$node)
		This is similar in every respect to the addItem() method of the
		HTML_TreeMenu class and is used to add child nodes.

HTML_TreeMenu_DHTML

	Methods
		Constructor(&$structure [, array $options [, $isDynamic]])
		This sets up the presentation object with the given structure
		and options. The structure should be an HTML_TreeMenu
		object. The options argument should be an associative array,
		and can consist of the following:

			images		The folder to look in for images.
						Defaults to �images�.
			linkTarget		Target for any links. Can be set
						here instead of for every node.
						Defaults to �_self�.
			defaultClass		Default CSS class to use. Defaults
						to blank.
			usePersistence	Whether to use clientside
						persistence or not (with cookies).
						Defaults to true.
			noTopLevelImages	Whether to skip the display of the
						first level of branch images if there
						are multiple root nodes. Defaults
						to false.

		The thrid argument $isDynamic can be used to specify
		Whether the entire tree is dynamic or not. Defaults to true.

		printMenu([$options])
		This is a method inherited from the abstract
		HTML_TreeMenu_Presentation class and is used to print the
		menu. The optional argument $options should be an
		associative array which can consist of the same options as the
		$options argument of the constructor.
HTML_TreeMenu_Listbox

	Methods
		Constructor(&$structure [, array $options])
		This sets up the presentation object with the given structure
		and options. The structure should be an HTML_TreeMenu
		object. The options argument should be an associative array,
		and can consist of the following:

			promoText	The text that appears at the top of the
					listbox. Defaults to �Select��
			indentChar	The character used to indent the nodes.
					Defaults to �&nbsp;�.
			indentNum	How many indentChars to use per
					indentation level. 
			linkTarget	Target for any links. Can be set here
					instead of for every node. Defaults to
					�_self�.
			submitText	Text for the submit button. Defaults to
					�Go�.

		printMenu([$options])
		This is a method inherited from the abstract
		HTML_TreeMenu_Presentation class and is used to print the
		menu. The optional argument $options should be an
		associative array which can consist of the same options as the
		$options argument of the constructor.

Case study: Creating a tree menu using XML

The HTML_TreeMenu::createFromXML() method is an extremely useful one if you have a treemenu to maintain and wish to do so in simpler fashion than updating PHP code every time a change is need. The XML can be kept in a file and read in to create the menu, with little more than a few lines of
PHP code necessary.

Pros:
Very easy to maintain
Little coding required by you
No loss of control over presentation by way of XML tag attributes

Cons:
Slower

As a result of:
Increased amount of included code (Tree class, XML_Tree class, XML_Tree_Node class, XML_Parser class)
XML parsing

the decreased speed is significant enough to warrant caching of the resulting HTML_TreeMenu object, either in a users� session or perhaps a file based cache. (PEAR has a couple of candidates � Cache & Cache_Lite).
If you do cache the treeMenu, then it�s entirely concievable that it may end up being faster than building it in PHP every time, so the speed drawback becomes a non-issue.

The XML schema you should use consists of two tags, <treemenu> and <node>. The <treemenu> tag is the root element and there should only ever be one of these. The <node> tag defines a node in the tree and can be nested as much as want. The <node> tag can take as attributes any of the options which can be passed to the HTML_TreeNode constructor (eg. text, link, icon etc). Some example XML:

<?xml version=�1.0�?>
<treemenu>
	<node text="Node 1" icon="folder.gif" />
	<node text="Node 2" icon="folder.gif" />
	<node text="Node 3" icon="folder.gif" />
	<node text="Node 4" icon="folder.gif">
		<node text="Node 4_1" icon="folder.gif" />
		<node text="Node 4_2" icon="folder.gif" />
		<node text="Node 4_3" icon="folder.gif" />
		<node text="Node 4_4" icon="folder.gif" />
	</node>
	<node text="Node 5" icon="folder.gif" />
</treemenu>

As you can see it�s perfectly OK to use the XML shortcut <node � /> instead of <node � ></node> if a node has no child nodes. This XML will create a treeMenu with five root nodes, with the fourth having four child nodes. The code you would need to use to create the HTML_TreeMenu object is as follows:
<?php
	require_once(�HTML/TreeMenu.php�);
	require_once(�XML/Tree.php�);
	require_once(�Tree.php�); // Tree class from phpguru.org

	$xml = file_get_contents(�treemenu.xml�);
	$treeMenu = HTML_TreeMenu::createFromXML($xml);
?>

You�re then free to use the $treeMenu structure with either of the presentation classes as normal.


License

The package is distributed under the BSD license. Wishlist fulfilment is always appreciated of course:

	Richard Heyes	 HYPERLINK "http://phpguru.org/wishlist" http://phpguru.org/wishlist
	Harald Radi		HYPERLINK "http://www.amazon.com/exec/obidos/registry/2UI4SZOTRSLJL/002-7757191-9616055"http://www.amazon.com/... 
 AUTHOR Richard Heyes	Page  PAGE 7	 DATE \@ "dd/MM/yyyy" 21/02/2003



*+>H	I	K	L	T	U	�	�	�	FGH[\{���Ͽ����������tl�_O�G;h�m:h�m:6�OJQJh�m:OJQJh[Fh�m:5�CJOJQJaJh0�5�CJOJQJaJh�UjOJQJh[Fh�Uj5�CJOJQJaJh[Fh�l�5�CJOJQJaJh�l�OJQJh�l�h�l�OJQJh�V1OJQJh/OJQJh0�OJQJh[Fh��5�CJOJQJaJh��>*CJ OJQJaJ "h[Fh�2c5�>*CJ OJQJaJ "h[Fh��5�>*CJ OJQJaJ *+J	K	L	T	U	�	�	�	�	�	
D
\

�
�
$E[�EG��������������������������
&Fgd�Ujgd�l�gd��$a$gd���4�4��GH[\}~��
P
�
�
���MNO]^lmv�=>����������������������������0�^��`�0�gd0�gd�m:���0�^��`�0�gd�m:gd�l��������9>?;��� LMNO\]^kl�����Ž�����������z�ő�j]�QHh[F5�OJQJh[Fh[F5�OJQJh[F5�CJOJQJaJh[Fh[F5�CJOJQJaJh[Fh[FOJQJh[Fh[F6�OJQJh[FOJQJh�Ujh�Uj6�OJQJh�UjOJQJh.(mOJQJhW[�OJQJh�m�OJQJh�7�OJQJh�7�h�7�OJQJh0�OJQJh[Fh�l�5�CJOJQJaJht4"OJQJh�m:OJQJlmuy�@b������0STU{|}���HKgKT���������б���ܝ���~���vnenYnYh�nrh�nr6�OJQJh�nr6�OJQJh�nrOJQJh�7\OJQJhORhtO�0JOJQJ#�j�hORhtO�OJQJUjhtO�OJQJUhtO�OJQJhORh[F0JOJQJ#�jhORh[FOJQJUjh[FOJQJUh'OJQJh[F6�OJQJh[Fh[FOJQJh[FOJQJ!>c�a��0����@^���He��Y���:�����������������������������gd�l���XY�������5:k�()*7:ADOv���5NOdj�������������������yp��y�h�h\h�h\hnyYhnyY6�OJQJhnyYOJQJh�7\6�OJQJh�7\h�7\6�OJQJh�7\OJQJh�7\h�7\OJQJh�7\5�OJQJh�7\h�7\5�OJQJh�nrh�nr6�OJQJh�nr5�OJQJh�h�nr0JOJQJ#�j�h�h�nrOJQJUjh�nrOJQJUh�nrOJQJh�nrh�nrOJQJ#:��"a��)*89Bt��%&V~���1R���������������������������������gd�l��Gly���E^_��O���. V W q � � � � � ����������������������������gdnyYgd�l����Z p � � � � � � � 
!!C!D!+","6"T"\"]"x"=$G$T$�$�$@%H%�%�%�%�%�%�%�%�%�������������������������������xogh�J�OJQJh�J�5�OJQJhnyYh�J�5�OJQJht4"OJQJh�O6�OJQJh�Oh�OOJQJh�Oh�O6�OJQJh�OOJQJh�C�OJQJh�C�6�OJQJh�7\OJQJhnyYhnyY5�OJQJh�nr5�OJQJhnyYOJQJhnyYhnyY6�OJQJhnyY6�OJQJ%� !E!�!�!�! "!"N"j"�"�"�"##K#t#�#�#�#$'$($_$�$�$�$�$"%V%�����������������������������gdnyYV%�%�%�%�%�%&N&�&�&�&�&'C'y'�'�'�'(:(H(~(�(�(�(�(
)A)�)����������������������������gd�J�gdnyY�%
&�'�'�'�'�(�(+)3)�)�)�)�)�)�)�)�)�)�), ,�,�,�,�-�-*/@/R/��������������~�~�v~vhW h� �h� �CJOJQJ^JaJh!�CJOJQJ^JaJh� �OJQJhdt�OJQJh0�OJQJh0�5�CJOJQJaJhdt�5�CJ OJQJaJ h0�h0�5�CJ OJQJaJ h��OJQJh�Oh�J�OJQJh�Oh�J�6�OJQJh�J�h�J�OJQJh�J�h�J�6�OJQJh�J�OJQJh�J�6�OJQJ�)�)�)�)�)�*+++-+K+�+�+�+�+�+�+,,,�,�-�-)/*/������������������������
&Fgd0�gd0��h^�hgd0�
&Fgd0�gdnyYgd�J�*/@/K/u/�/�/�/0K0x0�0�0�0�0�022>2]2�2�2�2�2�2�2[3\3]3e3����������������������������gdnyYgd� �R/r/�/�/�0�0�0b12222�2�2�2�2�2Z3[3\3]3d3e3f3�3�����Ż����������{shXKsCh�J�OJQJh�J�5�CJ OJQJaJ h�J�h�J�5�CJ OJQJaJ h0�h!�OJQJh0�OJQJh��h��OJQJ^Jh��CJOJQJ^JaJ h��h��CJOJQJ^JaJh��OJQJ^Jh��OJQJ^Jh!�OJQJ^Jh!�CJOJQJ^JaJh0�CJOJQJ^JaJ h� �h� �CJOJQJ^JaJh� �CJOJQJ^JaJe3f3�3�3&4�4�4�4�4�4���������gdnyY	�3�344	4$4%4&44454�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�������ĸĦ���đ~o~^~o~o~^~o~o~^~oZhiY!hiYCJOJQJaJmHnHuhC�hiYCJOJQJaJ%jhC�hiYCJOJQJUaJhH h�J�OJQJhH 0JOJQJ#�j�hH h6�OJQJUjhH OJQJUhH OJQJhORh�J�0JOJQJ#�j�hORh�J�OJQJUh�J�OJQJjh�J�OJQJU#�4�4�hH h�J�OJQJ90&P	1�F:p! ���. ��A!��"��#��$��%�������D���y������K�!http://www.phpguru.org/tree.html���y������K�Bhttp://www.phpguru.org/tree.html�D���y������K�http://pear.php.net/Tree���y������K�2http://pear.php.net/Tree�D���y������K�http://phpguru.org/tree.html���y������K�:http://phpguru.org/tree.html�D���y������K�http://phpguru.org/wishlist���y������K�8http://phpguru.org/wishlistD���y������K����y������K��http://www.amazon.com/exec/obidos/registry/2UI4SZOTRSLJL/002-7757191-9616055�@@�@NormalCJ_HaJmH	sH	tH	DA@�DDefault Paragraph FontRi@�RTable Normal�4�
l4�a�(k@�(No List4@�4��Header

�9r 4 @4��Footer

�9r 6U@�6[F	Hyperlink>*B*ph�FV@�!F[FFollowedHyperlink>*B*ph��H�@2H! �Balloon TextCJOJQJ^JaJ�,	^����*+JKLTU�����D\��$E[�EGH[\}~��P�����M	N	O	]	^	l	m	v	�	=
>
c
�
a��0����
@
^
�
�
�
He��Y���:��"a��)*89Bt��%&V~���1R����Gly���E^_��O���.VWq�����E��� !Nj���Kt���'(_����"V�����N����Cy��� : H ~ � � � � 
!A!�!�!�!�!�!�"###-#K#�#�#�#�#�#�#$$$�$�%�%)'*'@'K'u'�'�'�'(K(x(�(�(�(�(�(**>*]*�*�*�*�*�*�*[+\+]+e+f+�+�+&,�,�,�,�,�0���0��p�0��p�0��p�0��p�0��p�0��p�0���0���0��p�0��p�0���0���0��� 0��p� 0��p� 0��p� 0��p� 0��p� 0��� 0��p� 0��p� 0��p� 0	��p� 0
��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0����0���0��p�0��p�0��p�0���0����0��p�0��p�0��p�0��p�0��p�0��p�0��p�0���0��p�0��p�0���0��p�0��p�0���0��p�0��p�0���0��p�0��p�0���0��p�0��p�0��p�0��p�0��p�0��p�0��p�0���0����0���0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0���0��p�0��p�0���0��p�0��p�0��p�0���0���0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0����0����0����0����0����0����0����0����0����0����0����0����0����0����0�� ��0�� ��0�� ��0�� ��0�� ��0�� ��0�� ��0�� ��0�� ��0��p�0��p�0��p�0��p�0��p�0��p�0���0���0��p�0��p�0���0��p�0��p�0��p�0���0��p�0��p�0���0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0��p�0���0���0���0��p�0��p�0��p�0��p�0��p�0��p�0���0��p�0��p�0���0��p�0��p�0���0��p�0��p�0���0��p�0��p�0���0��p�0��p�0��p�0��p�0��p�0��p�0��p�0����0�� �0��p�0��p�0��p�0��p�0��p� 0��p� 0���� 0����0����0���� 0����0����0�� �� 0���� 0����0����0����0���0�� �0�� �0��p�0�� �0��p�0�� �0�� �0���0���0�� �0�� �0��(�0��(�0���0����0���0��p�0���0���0��(�0��(�0��(�0��(�0��(�0��(�0��(�0��p�0��(�0��(�0��p�0�� ��0�� ��0�� ��0�� ��0�� ����@0�����@0���0�P�*JLT�G[}~��P����M	O	]	^	l	m	v	�	=
>
c
�
a��0����
@
^
�
�
�
He��Y���:�)*89Bt��R����Gly���E^_��O���.VWq����� !N_����"V�����N����Cy��� : H ~ � � � � 
!A!�!�!$$�$�%�%)'*'K'u'�'�'�'(K(x(�(�(�([+]+e+�+�+&,�,�:00�:00�:00�:00�:00�:00�:00�:0
0�0���:00�:00�:00�:00�:00�:00�:00�0���0���:00�:00�:00�:00�:00�:00�:00�:00�:00�:00�:00�:00�:00�:00�:00�:0(0��:0(0��:0%0��:0%0��:0%0��:0%0��:0%0��:0%0��:0%0��:0%0��:0%0��:0%0��:0%0��:0%0��:0%0��:010��:010��:010��:010��:010��:010��:010��:010��:010��:0%0��:0%0��:0%0��:0%0��:0%0��:0%0��:0%0��:0%0��:0%0��0���:0;0������:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��:0;0��0���:0^0������:0^0��:0^0��:0^0��:0b0�����:0b0��:0^0��:0^0��:0^0��:0^0��:0^0��:0^0��:0^0��z0;0��z0;0��@0���:0a0��:0a0��:0a0��:0a0��:0a0��:0a0��:0u0��:0u0��:0u0��:0u0��:0u0��:0a0��:0u0��:0u0��:0u0��:0u0��:0u0��:0a0��:0a0��:0a0��:0a0��:0a0��:0a0��:0a0��:0���p�:0���:0���:0���:0���:0���:0���:0�0��:0���:0���:0���:0���:0���:0���:0���:0���:0���:0���:0�0��:0�0��:0�0��:0�0�:0�0��0������zzNNNQ�l���%R/�3�4�4 "%(+-.G>:�� V%�)*/e3�4!#$&')*,�4��T|�X���+,$,4,�,�,�,X��X��X��X��X��	%')@KQ���!��������_Hlt33511747_Hlt33511824_Hlt33527449��,�,@@@��,�,�T�X���**�+%,�,�,�,�,�,�,�,�,�,�T�X���**�+%,�,�,�,�,�,�,�,�,�,�T�X���**�+%,�,�,�,�,�,�,��Richy�|�5dZ���������m��L������������7�WN���������h�������^��`���OJQJo(�h�H���h�������^��`���OJQJ^Jo(�h�Ho�h�p����p^�p`���OJQJo(�h�H���h�@����@^�@`���OJQJo(�h�H���h�����^�`���OJQJ^Jo(�h�Ho�h�������^��`���OJQJo(�h�H���h�������^��`���OJQJo(�h�H���h�������^��`���OJQJ^Jo(�h�Ho�h�P����P^�P`���OJQJo(�h�H��h�������^��`���OJQJo(�h�H���h�������^��`���OJQJ^Jo(�h�Ho�h�p����p^�p`���OJQJo(�h�H���h�@����@^�@`���OJQJo(�h�H���h�����^�`���OJQJ^Jo(�h�Ho�h�������^��`���OJQJo(�h�H���h�������^��`���OJQJo(�h�H���h�������^��`���OJQJ^Jo(�h�Ho�h�P����P^�P`���OJQJo(�h�H��h�������^��`���OJQJo(�h�H��h
�������^��`���o(�h�H.�p����p^�p`���o()�h�@����@^�@`���OJQJo(�h�H���h�����^�`���OJQJ^Jo(�h�Ho�h�������^��`���OJQJo(�h�H���h�������^��`���OJQJo(�h�H���h�������^��`���OJQJ^Jo(�h�Ho�h�P����P^�P`���OJQJo(�h�H��m��|�7�W����������������																				�						'�&iY�U[F/H t4"'{L,�V1�m:�OnyY�7\�2c�Uj.(mAsn�nr��! ��7�!��m����o�C��C�\3��Z��l���tO�� �dt��J�0�6��H�W[��@�4,4,��4,4,�,�@��Unknown������������G��z ��Times New Roman5��Symbol3&��z ��Arial7���Georgia?5�	�z ��Courier New5&�za��Tahoma;��Wingdings"1����h�r�e�r�e�r�2�&Q�&Q!���x���4�,�,@�H�?�����������������������2c��
Richard HeyesRichy����Oh��+'��0p�������	�
 ,8
DPX`h�ssRichard HeyesoichNormal.doteRichy.d22hMicrosoft Word 10.0@�i�*@������@�k!���@�������&����՜.��+,��D��՜.��+,��,�hp|�������
���/Q�,�
Title� 8@_PID_HLINKS�A�NMhttp://www.amazon.com/exec/obidos/registry/2UI4SZOTRSLJL/002-7757191-9616055o8	http://phpguru.org/wishlisthttp://phpguru.org/tree.htmlhttp://pear.php.net/TreeL!http://www.phpguru.org/tree.html	

 !"#$%&'()*+,-./����1234567����9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\����^_`abcd����fghijkl��������o��������������������������������������������������������������������Root Entry��������	�F������q�Data
������������01Table����88IWordDocument����;^SummaryInformation(������������]DocumentSummaryInformation8��������eCompObj������������j������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
����	�FMicrosoft Word Document
MSWordDocWord.Document.8�9�q