function parentNeeded($parent, $netID, $area, $level) { $linkCount = 0; try { $query = $db->prepare("SELECT * FROM links WHERE area=:area AND level=:level AND parent=:parent ORDER BY level ASC"); $query->execute(array(':area' => $area, ':level' => $level, ':parent' => $parent)); } catch (PDOException $e) { exit("error in query"); } while ($links = $query->fetch(PDO::FETCH_ASSOC)) { if ($links['permission'] == NULL || checkLinkPermission($links['permission'])) { return true; } } return false; }
function linkIsVisible($index, &$permissions, $admin, $su) { if (linkHasChild($index)) { $children = linkPullChildrenIndex($index); foreach ($children as $child) { if (linkHasChild($child)) { $grandchildren = linkPullChildrenIndex($child); foreach ($grandchildren as $grandchild) { $link = linkPullInfo($grandchild); if ($link["resource"] == NULL) { return true; } if ($link["resource"] != NULL && checkLinkPermission($permissions, $link["verb"], $link["resource"], $admin, $su)) { return true; } } } else { $link = linkPullInfo($child); if ($link["resource"] == NULL) { return true; } if ($link["resource"] != NULL && checkLinkPermission($permissions, $link["verb"], $link["resource"], $admin, $su)) { return true; } } } } else { $link = linkPullInfo($index); if ($link["resource"] == NULL) { return true; } if ($link["resource"] != NULL && checkLinkPermission($permissions, $link["verb"], $link["resource"], $admin, $su)) { return true; } } return false; }