HierarchyMenu Test
Show/Hide the PHP Source
$locale['global_902'] = "- Choose an option -";
$translate = array(
'this' => 'link_id',
'name' => 'link_name',
'parent' => 'link_parent_id',
'order' => 'link_order',
'url' => 'link_url',
'ext' => 'link_window',
'class' => 'link_class'
);
# for $test_array see below (TWO-DIMENSIONAL array)
$hierarchy = new HierarchyMenu($test_array, $translate, true);Show/Hide the TWO-DIMENSIONAL array
Array
(
[0] => Array
(
[link_id] => 1
[link_name] => This page
[link_order] => 1
[link_parent_id] => 0
[link_url] => testHierarchyMenu.php
[link_window] => 0
[link_class] =>
)
[1] => Array
(
[link_id] => 2
[link_name] => The [i]class[/i] parent
[link_order] => 2
[link_parent_id] => 0
[link_url] => testHierarchy.php
[link_window] => 0
[link_class] =>
)
[2] => Array
(
[link_id] => 3
[link_name] => Breadcrumb
[link_order] => 1
[link_parent_id] => 2
[link_url] => testBreadcrumb.php
[link_window] => 0
[link_class] =>
)
[3] => Array
(
[link_id] => 4
[link_name] => [b]nolink[/b]
[link_order] => 2
[link_parent_id] => 2
[link_url] => ---
[link_window] => 1
[link_class] =>
)
[4] => Array
(
[link_id] => 5
[link_name] => nohttp G.com
[link_order] => 1
[link_parent_id] => 4
[link_url] => www.google.com
[link_window] => 0
[link_class] =>
)
[5] => Array
(
[link_id] => 6
[link_name] => http G.it
[link_order] => 3
[link_parent_id] => 0
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
[6] => Array
(
[link_id] => 7
[link_name] => ---
[link_order] => 1
[link_parent_id] => 1
[link_url] => ---
[link_window] => 0
[link_class] => extra-class
)
[7] => Array
(
[link_id] => 8
[link_name] => http G.it
[link_order] => 5
[link_parent_id] => 4
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
[8] => Array
(
[link_id] => 9
[link_name] => [u]nolink[/u]
[link_order] => 8
[link_parent_id] => 8
[link_url] => ---
[link_window] => 0
[link_class] =>
)
[9] => Array
(
[link_id] => 10
[link_name] => http G.it
[link_order] => 8
[link_parent_id] => 8
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
[10] => Array
(
[link_id] => 11
[link_name] => http G.it
[link_order] => 8
[link_parent_id] => 10
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
[11] => Array
(
[link_id] => 12
[link_name] => This page
[link_order] => 8
[link_parent_id] => 8
[link_url] => testHierarchyMenu.php
[link_window] => 0
[link_class] =>
)
[12] => Array
(
[link_id] => 13
[link_name] => http G.it
[link_order] => 8
[link_parent_id] => 8
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
)
Show/Hide the MULTI-DIMENSIONAL array
Array
(
[1] => Array
(
[link_id] => 1
[link_name] => This page
[link_order] => 1
[link_parent_id] => 0
[link_url] => testHierarchyMenu.php
[link_window] => 0
[link_class] =>
[current] => 1
[children] => Array
(
[7] => Array
(
[link_id] => 7
[link_name] => ---
[link_order] => 1
[link_parent_id] => 1
[link_url] => ---
[link_window] => 0
[link_class] => extra-class
)
)
)
[2] => Array
(
[link_id] => 2
[link_name] => The [i]class[/i] parent
[link_order] => 2
[link_parent_id] => 0
[link_url] => testHierarchy.php
[link_window] => 0
[link_class] =>
[ancestor] => 1
[children] => Array
(
[3] => Array
(
[link_id] => 3
[link_name] => Breadcrumb
[link_order] => 1
[link_parent_id] => 2
[link_url] => testBreadcrumb.php
[link_window] => 0
[link_class] =>
)
[4] => Array
(
[link_id] => 4
[link_name] => [b]nolink[/b]
[link_order] => 2
[link_parent_id] => 2
[link_url] => ---
[link_window] => 1
[link_class] =>
[ancestor] => 1
[children] => Array
(
[5] => Array
(
[link_id] => 5
[link_name] => nohttp G.com
[link_order] => 1
[link_parent_id] => 4
[link_url] => www.google.com
[link_window] => 0
[link_class] =>
)
[8] => Array
(
[link_id] => 8
[link_name] => http G.it
[link_order] => 5
[link_parent_id] => 4
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
[parent] => 1
[children] => Array
(
[9] => Array
(
[link_id] => 9
[link_name] => [u]nolink[/u]
[link_order] => 8
[link_parent_id] => 8
[link_url] => ---
[link_window] => 0
[link_class] =>
)
[10] => Array
(
[link_id] => 10
[link_name] => http G.it
[link_order] => 8
[link_parent_id] => 8
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
[children] => Array
(
[11] => Array
(
[link_id] => 11
[link_name] => http G.it
[link_order] => 8
[link_parent_id] => 10
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
)
)
[12] => Array
(
[link_id] => 12
[link_name] => This page
[link_order] => 8
[link_parent_id] => 8
[link_url] => testHierarchyMenu.php
[link_window] => 0
[link_class] =>
[current] => 1
)
[13] => Array
(
[link_id] => 13
[link_name] => http G.it
[link_order] => 8
[link_parent_id] => 8
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
)
)
)
)
)
)
[6] => Array
(
[link_id] => 6
[link_name] => http G.it
[link_order] => 3
[link_parent_id] => 0
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
)
using __toString() method
Show/Hide the CSS examples
Navigation
using outputList() method, first level deep only
using outputList() method, second level deep only, exclude item #3
- This page
- The class parent
- nolink
- http G.it
using outputList() method, exclude item #2
Show/Hide the Flatted but "leveled"
Array
(
[1] => This page
[7] => - ---
[2] => The class parent
[3] => - Breadcrumb
[4] => - nolink
[5] => -- nohttp G.com
[8] => -- http G.it
[9] => --- nolink
[10] => --- http G.it
[11] => ---- http G.it
[12] => --- This page
[13] => --- http G.it
[6] => http G.it
)
Just a pagination test, using array_slice
Array
(
[1] => This page
[7] => - ---
)
Array
(
[2] => The class parent
[3] => - Breadcrumb
)
Array
(
[4] => - nolink
[5] => -- nohttp G.com
)
Array
(
[8] => -- http G.it
[9] => --- nolink
)
Yet another pagination test, using array_slice
Array
(
[1] => This page
[7] => - ---
[2] => The class parent
)
Array
(
[3] => - Breadcrumb
[4] => - nolink
[5] => -- nohttp G.com
)
Array
(
[8] => -- http G.it
[9] => --- nolink
[10] => --- http G.it
)
Show/Hide a default <select>
Show/Hide a custom <select> usage
Show/Hide dump
HierarchyMenu Object
(
[_url:protected] => link_url
[_ext:protected] => link_window
[_class:protected] => link_class
[_microdata:protected] => 1
[_currents:HierarchyMenu:private] => Array
(
[0] => 1
[1] => 12
[2] => 1
[3] => 12
[4] => 1
[5] => 12
[6] => 1
[7] => 12
[8] => 1
[9] => 12
[10] => 1
[11] => 12
[12] => 1
[13] => 12
[14] => 1
[15] => 12
[16] => 1
[17] => 12
[18] => 1
[19] => 12
[20] => 1
[21] => 12
[22] => 1
[23] => 12
[24] => 1
[25] => 12
)
[_parents:HierarchyMenu:private] => Array
(
[12] => 8
)
[_ancestors:HierarchyMenu:private] => Array
(
[8] => 4
[4] => 2
)
[_this:protected] => link_id
[_name:protected] => link_name
[_parent:protected] => link_parent_id
[_order:protected] => link_order
[_tree:protected] => Array
(
[1] => Array
(
[link_id] => 1
[link_name] => This page
[link_order] => 1
[link_parent_id] => 0
[link_url] => testHierarchyMenu.php
[link_window] => 0
[link_class] =>
[current] => 1
[children] => Array
(
[7] => Array
(
[link_id] => 7
[link_name] => ---
[link_order] => 1
[link_parent_id] => 1
[link_url] => ---
[link_window] => 0
[link_class] => extra-class
)
)
)
[2] => Array
(
[link_id] => 2
[link_name] => The [i]class[/i] parent
[link_order] => 2
[link_parent_id] => 0
[link_url] => testHierarchy.php
[link_window] => 0
[link_class] =>
[ancestor] => 1
[children] => Array
(
[3] => Array
(
[link_id] => 3
[link_name] => Breadcrumb
[link_order] => 1
[link_parent_id] => 2
[link_url] => testBreadcrumb.php
[link_window] => 0
[link_class] =>
)
[4] => Array
(
[link_id] => 4
[link_name] => [b]nolink[/b]
[link_order] => 2
[link_parent_id] => 2
[link_url] => ---
[link_window] => 1
[link_class] =>
[ancestor] => 1
[children] => Array
(
[5] => Array
(
[link_id] => 5
[link_name] => nohttp G.com
[link_order] => 1
[link_parent_id] => 4
[link_url] => www.google.com
[link_window] => 0
[link_class] =>
)
[8] => Array
(
[link_id] => 8
[link_name] => http G.it
[link_order] => 5
[link_parent_id] => 4
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
[parent] => 1
[children] => Array
(
[9] => Array
(
[link_id] => 9
[link_name] => [u]nolink[/u]
[link_order] => 8
[link_parent_id] => 8
[link_url] => ---
[link_window] => 0
[link_class] =>
)
[10] => Array
(
[link_id] => 10
[link_name] => http G.it
[link_order] => 8
[link_parent_id] => 8
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
[children] => Array
(
[11] => Array
(
[link_id] => 11
[link_name] => http G.it
[link_order] => 8
[link_parent_id] => 10
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
)
)
[12] => Array
(
[link_id] => 12
[link_name] => This page
[link_order] => 8
[link_parent_id] => 8
[link_url] => testHierarchyMenu.php
[link_window] => 0
[link_class] =>
[current] => 1
)
[13] => Array
(
[link_id] => 13
[link_name] => http G.it
[link_order] => 8
[link_parent_id] => 8
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
)
)
)
)
)
)
[6] => Array
(
[link_id] => 6
[link_name] => http G.it
[link_order] => 3
[link_parent_id] => 0
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
)
[_temp:protected] => Array
(
[0] => Array
(
[link_id] => 1
[link_name] => This page
[link_order] => 1
[link_parent_id] => 0
[link_url] => testHierarchyMenu.php
[link_window] => 0
[link_class] =>
[current] => 1
)
[1] => Array
(
[link_id] => 2
[link_name] => The [i]class[/i] parent
[link_order] => 2
[link_parent_id] => 0
[link_url] => testHierarchy.php
[link_window] => 0
[link_class] =>
[ancestor] => 1
)
[2] => Array
(
[link_id] => 3
[link_name] => Breadcrumb
[link_order] => 1
[link_parent_id] => 2
[link_url] => testBreadcrumb.php
[link_window] => 0
[link_class] =>
)
[3] => Array
(
[link_id] => 4
[link_name] => [b]nolink[/b]
[link_order] => 2
[link_parent_id] => 2
[link_url] => ---
[link_window] => 1
[link_class] =>
[ancestor] => 1
)
[4] => Array
(
[link_id] => 5
[link_name] => nohttp G.com
[link_order] => 1
[link_parent_id] => 4
[link_url] => www.google.com
[link_window] => 0
[link_class] =>
)
[5] => Array
(
[link_id] => 6
[link_name] => http G.it
[link_order] => 3
[link_parent_id] => 0
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
[6] => Array
(
[link_id] => 7
[link_name] => ---
[link_order] => 1
[link_parent_id] => 1
[link_url] => ---
[link_window] => 0
[link_class] => extra-class
)
[7] => Array
(
[link_id] => 8
[link_name] => http G.it
[link_order] => 5
[link_parent_id] => 4
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
[parent] => 1
)
[8] => Array
(
[link_id] => 9
[link_name] => [u]nolink[/u]
[link_order] => 8
[link_parent_id] => 8
[link_url] => ---
[link_window] => 0
[link_class] =>
)
[9] => Array
(
[link_id] => 10
[link_name] => http G.it
[link_order] => 8
[link_parent_id] => 8
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
[10] => Array
(
[link_id] => 11
[link_name] => http G.it
[link_order] => 8
[link_parent_id] => 10
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
[11] => Array
(
[link_id] => 12
[link_name] => This page
[link_order] => 8
[link_parent_id] => 8
[link_url] => testHierarchyMenu.php
[link_window] => 0
[link_class] =>
[current] => 1
)
[12] => Array
(
[link_id] => 13
[link_name] => http G.it
[link_order] => 8
[link_parent_id] => 8
[link_url] => http://www.google.it
[link_window] => 0
[link_class] =>
)
)
[_flat:protected] => Array
(
[1] => Item: This page
[7] => > Item: ---
[2] => Item: The class parent
[3] => > Item: Breadcrumb
[4] => > Item: nolink
[5] => >> Item: nohttp G.com
[8] => >> Item: http G.it
[9] => >>> Item: nolink
[10] => >>> Item: http G.it
[11] => >>>> Item: http G.it
[12] => >>> Item: This page
[13] => >>> Item: http G.it
[6] => Item: http G.it
)
)
Show/Hide hasChildren test
Expected: false;
Result:
Result:
Result:
bool(false)
Expected: true; Result:
bool(true)
Show/Hide isParentOf test
Expected: false;
Result:
Result:
Result:
bool(false)
Expected: true; Result:
bool(true)
Show/Hide isChildOf test
Expected: false;
Result:
Result:
Result:
bool(false)
Expected: true; Result:
bool(true)
