function get_profiles() { $query = new Query(new QueryBuilder(SELECT_QUERY, array('tables' => array('userprofile' => array('id', 'first_name', 'last_name')), 'joins' => array('INNER JOIN userauth ON userauth.id = userprofile.fk_userauth'), 'where' => 'userauth.role = \'faculty\' OR userauth.role = \'admin\'', 'orderby' => 'userprofile.last_name'))); $profiles = array(); $query->for_each_ordered(function ($row) use(&$profiles) { $profiles[] = array('id' => $row[0], 'name' => "{$row['1']} {$row['2']}"); }); return $profiles; }
function check_assessment_access($userId, $entityId, $entityKind) { $query = new Query(new QueryBuilder(SELECT_QUERY, array('tables' => array("abet_assessment" => '', $entityKind => 'id'), 'joins' => array("INNER JOIN {$entityKind} ON {$entityKind}.fk_assessment = abet_assessment.id", "INNER JOIN acl ON abet_assessment.fk_acl = acl.id", "INNER JOIN acl_entry ON acl_entry.fk_acl = acl.id AND acl_entry.fk_profile = {$userId}")))); $found = false; $query->for_each_ordered(function ($row) use(&$found, $entityId) { if ($row[0] == $entityId) { $found = true; return false; } }); return $found; }