Re: [phpwslistings-dev] agent active flag
Brought to you by:
rizzo,
wendall911
From: <ad...@tu...> - 2003-03-24 17:37:18
|
OK I may miss some things here because I'm not a real estate agent and I don't know all the ins and outs of what needs to happen there. On the other hand I've been looking at the system with more than real estate in mind and so I'm trying to be as abstract as possible. If a user is given base access to the phpwslistings module, they are considered an "agent". A "broker" is designated with a single sub-permisssion. If the broker permission is set for a user, they get total access to the module almost like a deity (without access to all other modules of course). Then you could add several other permissions that are for refining an agents access to the system. These permissions would be bypassed in the case of a broker. module_rights.txt: is_broker::User is a Broker add_listing::Add Listings delete_listing::Remove Listing view_sold::View Sold Listings This method would work for most situations but then you get into the mess of handling multiple "dynamic" classes and controling agent and broker permissions within each class. To best handle a situation like that you would need limited user of the phpws user module and would need to implement your own layer of permissions into the phpwslistings module itself. If a user is given base access to the phpwslistings module, they are considered an agent with no permissions (yet). Then with a single sub-permission you could designate a user as a broker. module_rights.txt: is_broker::User is a Broker Then, within phpwslistings, a broker can view and edit the permissions of agents and assign them to classes if they wish. It should be possible to use the setUserVar and getUserVar functions to make this easier on the developer. For storage of those permissions I would suggest using masking of bits for speed and limited memory usage. I actually suggested that for the phpws user module but Matt didn't know what I meant :) For each agent they would have a userVar called something like phpwslistings_perms. This would simply be an integer number that represents the permissions of that particular agent. Lets say we have 3 permissions, add listing, delete listing, and view sold listings. If we represent each of these in binary they would look something like this: 001 = add listing 010 = delete listing 100 = view sold listings 011 = add and delete listings 111 = full access to the system - broker only functions Then you could define masks like: PHPWSLISTINGS_ADD_MASK = 001; PHPWSLISTINGS_DELETE_MASK = 010; PHPWSLISTINGS_SOLD_MASK = 100; "AND" those with the users stored variable and you will get a boolean TRUE/FALSE as to whether or not the agent has access to that permission: $add_check = $_SESSION["OBJ_user"]->getUserVar("phpwslistings_perms") & PHPWSLISTINGS_ADD_MASK; if($add_check) { ...do add... } else { ...doesnt have permission... } That probably a lot to take in. Let me know if anything was unclear as I tend to ramble on :) Adam > Adam, > >> I would suggest not using a phpws user as an agent and just associate an >> agent with a phpws user account. This way you can accomplish the >> permissioning goals you have set down and if the admin of the website >> wants to allow public users to have accounts on the site for various >> reasons (personal house listings, remembered settings, etc) you don't >> want >> them to have "agent status" in the phpwslistings system. I can say more >> here but I will refrain for now to hear your thoughts on what I've >> written >> so far. > > Sounds intersting. I think I understand your concept but would like you > to > elaborate some more if you would. > > > Mike Windsor > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Tablet PC. > Does your code think in ink? You could win a Tablet PC. > Get a free Tablet PC hat just for playing. What are you waiting for? > http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en > _______________________________________________ > phpwslistings-developers mailing list > php...@li... > https://lists.sourceforge.net/lists/listinfo/phpwslistings-developers > -- Adam Morton Developer - Electronic Student Services http://phpwebsite.appstate.edu Founder - Appalachian Linux Users Group http://alug.appstate.edu |