Short Version:
What would you say is the best way to filter how nodes appear (in a binary sense: published vs. hidden) to users based off of a dynamic value? This solution is beyond the scope of typical modules like Permissions, Views, or Content Access.
Long Version:
My application calls for having select nodes display to select users based off of values changed over time. For instance, lets say a user wants access a node but both the users and the nodes change their location (daily). When a customer views the site (or any page) I want them to only be able to see nodes in their specified range. Because of this the basic Permission and Views and other stock Drupal modules seem to be ineffective. It seems like it would be a bad way to use the Permission system because their are so many variables in the user / node relationship. I can't unpublish nodes because they need to remain active to other users, processes, etc. Even a dynamic Views filter with custom php code for my distance measurement would be ineffective because then nodes would still be accessible by directly inputting the URL.
Thus far, I am planning on using hook_node_load()
to perform my calculations - determining the user and node relationship - and then only return nodes that are applicable. This should prevent direct URL access to unavailable nodes, keep active nodes that exist but don't match the criteria, and by default control