public static function getOwners($user_id, $permission = null) { $permission_array = array(Calendar::PERMISSION_READABLE, Calendar::PERMISSION_WRITABLE); if (!$permission) { $permission = $permission_array; } else { if (!in_array($permission, $permission_array)) { throw new InvalidArgumentException('Calendar permission must be of type PERMISSION_READABLE or PERMISSION_WRITABLE.'); } else { $permission = array($permission); } } return SimpleORMapCollection::createFromArray(CalendarUser::findBySQL('user_id = ? AND permission IN(?)', array($user_id, $permission))); }