[parent_guid;
$currentpage = (int) get_input('currentpage');
if ($currentpage) {
$path = pages_get_path($currentpage);
$pathstring = implode(',',$path);
} else {
$path = array();
}
function pages_draw_child($childentity, $path) {
$child = "\n\t\t{\n";
$child .= "\t\t\t\"text\": \"getURL()}\\\">" . addslashes($childentity->title) . "\"\n";
$extras = "";
$haschild = elgg_get_entities_from_metadata(array('metadata_name' => 'parent_guid', 'metadata_value' => $childentity->guid, 'limit' => 9999));
if ($haschild) {
if (in_array($childentity->guid,$path)) {
$extras .= "\t\t\t,\"expanded\": true";
$extras .= "\t\t\t,\"children\": [\n";
$childstring = "";
foreach($haschild as $subchild) {
$childstringtemp = pages_draw_child($subchild,$path);
if (!empty($childstringtemp)) {
if (!empty($childstring)) $childstring .= ", ";
$childstring .= $childstringtemp;
}
}
$extras .= $childstring . "\n\t\t\t]\n";
} else {
$extras .= ",\t\t\t\"id\": \"{$childentity->getGUID()}\",\n\t\t\t\"hasChildren\": true\n";
}
}
$child .= $extras . "\t\t}";
return $child;
}
if (!$parent) {
echo "{\n";
echo "\t\"text\": \"getURL()}\\\">" . addslashes($vars['entity']->title) . "\"\n";
}
$children = "";
$temp = "";
if (isset($vars['children']) && is_array($vars['children']) && (!isset($vars['fulltree']) || $vars['fulltree'] == 0)) {
if (!$parent) $temp .= "\t" . '"expanded": true,' . "\n";
if (!$parent) $temp .= "\t" . '"children": [' . "\n";
foreach($vars['children'] as $child) {
$childrentemp = pages_draw_child($child,$path);
if (!empty($childrentemp)) {
if (!empty($children)) $children .= ", \n";
$children .= $childrentemp;
}
/*
$children .= "\n\t\t{\n";
$children .= "\t\t\t\"text\": \"getURL()}\\\">{$child->title}\",\n";
$haschild = get_entities_from_metadata('parent_guid',$child->guid,'','',0,10,0,'',0,true);
if ($haschild) {
$children .= "\t\t\t\"id\": \"{$child->getGUID()}\",\n\t\t\t\"hasChildren\": true\n";
}
$children .= "\t\t}";
*/
}
if (!empty($temp)) echo ',' . $temp;
echo $children;
if (!$parent) echo "\t\t" . ']' . "\n";
}
if (!$parent) echo "}";
?>]