[ Index ]
 

Code source de eGroupWare 1.2.106-2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/phpgwapi/inc/ -> class.acl.inc.php (sommaire)

(pas de description)

Poids: 786 lignes (23 kb)
Inclus ou requis:0 fois
Référencé: 0 fois
Nécessite: 0 fichiers

Définit 1 class

acl:: (23 méthodes):
  acl()
  DONTlist_methods()
  read_repository()
  read()
  add()
  delete()
  save_repository()
  get_rights()
  check()
  get_specific_rights()
  check_specific()
  add_repository()
  delete_repository()
  get_specific_rights_for_account()
  get_all_rights()
  get_all_location_rights()
  get_app_list_for_id()
  get_location_list_for_id()
  get_ids_for_location()
  get_locations_for_app()
  get_user_applications()
  get_grants()
  delete_account()


Classe: acl  - X-Ref

Access Control List System

This class provides an ACL security scheme.
This can manage rights to 'run' applications, and limit certain features within an application.
It is also used for granting a user "membership" to a group, or making a user have the security equivilance of another user.
It is also used for granting a user or group rights to various records, such as todo or calendar items of another user.
$acl =& CreateObject('phpgwapi.acl',5);  // 5 is the user id

acl($account_id = '')   X-Ref
ACL constructor for setting account id

Sets the ID for $acl->account_id. Can be used to change a current instances id as well.
Some functions are specific to this account, and others are generic.

param: int $account_id int-the user id

DONTlist_methods($_type='xmlrpc')   X-Ref
Pas de description

read_repository()   X-Ref
Read acl records for $acl->account_id from reposity

return: array along with storing it in $acl->data.  <br>

read()   X-Ref
Read acl records from $acl->data

return: array all ACL records from $this->data.

add($appname,$location,$rights)   X-Ref
Adds ACL record to  the repository of the class

Adds ACL record to $this->data.

param: string $appname default False derives value from $GLOBALS['egw_info']['flags']['currentapp']
param: string $location location
param: int $rights rights
return: array all ACL records from $this->data.

delete($appname,$location)   X-Ref
Delete ACL record in the repository of the class

param: string $appname appname or '' for $GLOBALS['egw_info']['flags']['currentapp']
param: string $location location
return: array all ACL records from $this->data.

save_repository()   X-Ref
save the internal repository or the class

return: array all ACL records from $this->data.

get_rights($location,$appname = '')   X-Ref
get rights from the class repository (included rights of $this->account_id and all it's memberships)

param: string $location app location to get rights from
param: string $appname optional defaults to $GLOBALS['egw_info']['flags']['currentapp'];
return: int all rights or'ed together

check($location, $required, $appname = False)   X-Ref
check required rights agains the internal repository (included rights of $this->account_id and all it's memberships)

param: $location app location
param: $required required right to check against
param: $appname optional defaults to currentapp
return: boolean

get_specific_rights($location, $appname = '')   X-Ref
get specific rights for this->account_id for an app location

param: string $location app location
param: string $appname='' optional defaults to currentapp
param: int $account_id=0 optional defaults to $this->account_id
return: int $rights

check_specific($location, $required, $appname = '')   X-Ref
check specific rights

param: string $location app location
param: int $required required rights
param: string $appname optional defaults to currentapp
return: boolean

add_repository($app, $location, $account_id, $rights)   X-Ref
add repository information / rights for app/location/account_id to the database

param: string $app appname
param: string $location location
param: int $account_id account id
param: int $rights rights
return: boolean allways true

delete_repository($app, $location, $accountid='')   X-Ref
delete repository information / rights for app/location[/account_id] from the DB

param: string $app appname
param: string $location location
param: int/boolean $account_id account id, default 0=$this->account_id, or false to delete all entries for $app/$location
return: int number of rows deleted

get_specific_rights_for_account($account_id,$location,$appname='')   X-Ref
Get rights for a given account, location and application

param: int $account_id
param: string $location
param: string $appname='' defaults to current app
return: int/boolean rights or false if none exist

get_all_rights($location,$appname='')   X-Ref
Get all rights for a given location and application

param: string $location
param: string $appname='' defaults to current app
return: array with account => rights pairs

get_all_location_rights($account_id,$appname='',$use_memberships=true)   X-Ref
Get the rights for all locations

param: int $account_id
param: string $appname='' defaults to current app
param: boolean $use_memberships=true
return: array with location => rights pairs

get_app_list_for_id($location, $required, $accountid = '')   X-Ref
get application list for an account id

param: string $location location
param: int $required required rights
param: int $account_id account id defaults to $GLOBALS['egw_info']['user']['account_id'];
return: array/boolean false if there are no matching row in the db, else array with app-names

get_location_list_for_id($app, $required, $accountid = '')   X-Ref
get location list for id

param: string $app app
param: int $required required rights
param: int $accountid optional defaults to $GLOBALS['egw_info']['user']['account_id'];
return: array/boolean false if there are no matching rows in the db or array with location-strings

get_ids_for_location($location, $required, $app = '')   X-Ref
get ids for location

param: string $location location
param: int $required required rights
param: string $app app optional defaults to $GLOBALS['egw_info']['flags']['currentapp'];
return: boolean/array false if there are no matching rows in the db or array of account-ids

get_locations_for_app($app='')   X-Ref
get the locations for an app (excluding the run location !!!)

param: string $app app optional defaults to $GLOBALS['egw_info']['flags']['currentapp'];
return: boolean/array false if there are no matching location in the db or array of locations

get_user_applications($accountid = '')   X-Ref
get a list of applications a user has rights to

param: int $account_id optional defaults to $GLOBALS['egw_info']['user']['account_id'];
return: boolean/array containing list of apps or false if there are none

get_grants($app='')   X-Ref
Read the grants other users gave $this->account_id for $app, group ACL is taken into account

param: string $app optional defaults to $GLOBALS['egw_info']['flags']['currentapp'];
return: array with account-ids (of owners) and granted rights as values

delete_account($account_id)   X-Ref
Deletes all ACL entries for an account (user or group)

param: int $account_id acount-id



Généré le : Sun Feb 25 17:20:01 2007 par Balluche grâce à PHPXref 0.7