rendered paste bodyfunction getOrganizationalUnits($node=0, $depthMax=0, $includeArchived=0, $currentDepth=1,$safety=0)
{
// Assign node children to node array
$nodeKids = $this->getOrganizationalNodeUnits($node);
// Check for recursive nature
while ( $nodeKids && ($currentDepth < $depthMax || $depthMax == 0) )
{
for ($i = 0; $i < count($nodeKids); $i++)
{
$nextLevel = 1 + $currentDepth;
$nodeKids[$i]['subOrgs'] = $this->getOrganizationalUnits($i['organizational_units_id'],$depthMax,$includeArchived,$nextLevel,$safety+1);
}
}
return $nodeKids;
}
function getOrganizationalNodeUnits($node=0, $includeArchived=0)
{
$where = ($includeArchived) ? '' : "AND archived != '1' " ;
$rs_orgUnits = $this->fingerprint->db->select(
// SELECT
'organizational_units_id, name, description, parent_id, archived',
// FROM
'organizational_units',
// WHERE
"parent_id = '$node'
$where"
);
if ( $this->fingerprint->db->getRecordCount($rs_orgUnits) )
{
$orgUnits = $this->db->makeArray($rs_orgUnits);
}
else
{
$orgUnits = NULL;
}
return $orgUnits;
}