gacl_apigacl_api Extended API Class
Class gacl_api should be used for applications that must interface directly with phpGACL's data structures, objects, and rules.
Located in /gacl_api.class.php (line 50)
gacl | --gacl_api
bool
add_acl
(array $aco_array, array $aro_array, [array $aro_group_ids = NULL], [array $axo_array = NULL], [array $axo_group_ids = NULL], [int $allow = 1], [int $enabled = 1], [string $return_value = NULL], [string $note = NULL], [string $section_value = NULL], [int $acl_id = FALSE])
bool
add_group_object
(int $group_id, string $object_section_value, string $object_value, [string $group_type = 'ARO'])
int
add_object
(string $section_value, string $name, string $value, int $order, int $hidden, [string $object_type = NULL])
int
add_object_section
(string $name, string $value, int $order, int $hidden, [string $object_type = NULL])
bool
append_acl
(int $acl_id, [array $aro_array = NULL], [array $aro_group_ids = NULL], [array $axo_array = NULL], [array $axo_group_ids = NULL], [array $aco_array = NULL])
bool
consolidated_edit_acl
(string $aco_section_value, string $aco_value, string $aro_section_value, string $aro_value, string $return_value)
bool
del_group_object
(int $group_id, string $object_section_value, string $object_value, [string $group_type = 'ARO'])
bool
del_object_section
(int $object_section_id, [string $object_type = NULL], [bool $erase = FALSE])
bool
edit_acl
(int $acl_id, array $aco_array, array $aro_array, [array $aro_group_ids = NULL], [array $axo_array = NULL], [array $axo_group_ids = NULL], [int $allow = 1], [int $enabled = 1], [string $return_value = NULL], [string $note = NULL], [string $section_value = NULL])
bool
edit_group
(int $group_id, [string $value = NULL], [string $name = NULL], [int $parent_id = NULL], [string $group_type = 'ARO'])
bool
edit_object
(int $object_id, string $section_value, string $name, string $value, int $order, int $hidden, [string $object_type = NULL])
bool
edit_object_section
(int $object_section_id, string $name, string $value, int $order, int $hidden, [string $object_type = NULL])
array
format_groups
(array $sorted_groups, [array $type = 'TEXT'], int $root_id, int $level, [array $formatted_groups = NULL])
array
get_group_children
(int $group_id, [int $group_type = 'ARO'], [string $recurse = 'NO_RECURSE'])
array
get_group_objects
(int $group_id, [string $group_type = 'ARO'], [string $option = 'NO_RECURSE'])
ADORecordSet
get_object
([string $section_value = null], [int $return_hidden = 1], [string $object_type = NULL])
array
get_objects
([string $section_value = NULL], [int $return_hidden = 1], [string $object_type = NULL])
array
get_object_groups
(int $object_id, [string $object_type = 'ARO'], [string $option = 'NO_RECURSE'])
int
get_object_section_section_id
([string $name = NULL], [string $value = NULL], [string $object_type = NULL])
bool
is_conflicting_acl
(array $aco_array, array $aro_array, [array $aro_group_ids = NULL], [array $axo_array = NULL], [array $axo_group_ids = NULL], [array $ignore_acl_ids = NULL])
array
search_acl
([string $aco_section_value = NULL], [string $aco_value = NULL], [string $aro_section_value = NULL], [string $aro_value = NULL], [string $aro_group_name = NULL], [string $axo_section_value = NULL], [string $axo_value = NULL], [string $axo_group_name = NULL], [string $return_value = NULL])
bool
shift_acl
(int $acl_id, [array $aro_array = NULL], [array $aro_group_ids = NULL], [array $axo_array = NULL], [array $axo_group_ids = NULL], [array $aco_array = NULL])
add_acl (line 909)
add_acl()
Add's an ACL. ACO_IDS, ARO_IDS, GROUP_IDS must all be arrays.
add_group (line 1668)
add_group()
Inserts a group, defaults to be on the "root" branch.
Since v3.3.x you can only create one group with Parent_ID=0 So, its a good idea to create a "Virtual Root" group with Parent_ID=0 Then assign other groups to that.
add_group_object (line 1862)
add_group_object()
Assigns an Object to a group
add_object (line 2935)
add_object()
Inserts a new object
add_object_section (line 3413)
add_object_section()
Inserts an object Section
append_acl (line 410)
append_acl()
Appends objects on to a specific ACL.
clear_database (line 3709)
clear_database()
Deletes all data from the phpGACL tables. USE WITH CAUTION.
consolidated_edit_acl (line 156)
consolidated_edit_acl()
Add's an ACL but checks to see if it can consolidate it with another one first.
This ONLY works with ACO's and ARO's. Groups, and AXO are excluded. As well this function is designed for handling ACLs with return values, and consolidating on the return_value, in hopes of keeping the ACL count to a minimum.
A return value of false must _always_ be handled outside this function. As this function will remove AROs from ACLs and return false, in most cases you will need to a create a completely new ACL on a false return.
count_all (line 84)
count_all()
Recursively counts elements in an array and sub-arrays.
This is different from count($arg, COUNT_RECURSIVE) in PHP >= 4.2.0, which includes sub-arrays in the count.
del_acl (line 1177)
del_acl()
Deletes a given ACL
del_group (line 2232)
del_group()
deletes a given group
del_group_object (line 1949)
del_group_object()
Removes an Object from a group.
del_object (line 3128)
del_object()
Deletes a given Object and, if instructed to do so, erase all referencing objects
ERASE feature by: Martino Piccinato
del_object_section (line 3619)
del_object_section()
Deletes a given Object Section and, if explicitly asked, all the section objects
ERASE feature by: Martino Piccinato
edit_acl (line 1133)
edit_acl()
Edit's an ACL, ACO_IDS, ARO_IDS, GROUP_IDS must all be arrays.
edit_group (line 2008)
edit_group()
Edits a group
edit_object (line 3035)
edit_object()
Edits a given Object
edit_object_section (line 3482)
edit_object_section()
Edits a given Object Section
format_groups (line 1288)
format_groups()
Takes the array returned by sort_groups() and formats for human consumption. Recursively calls itself to produce the desired output.
get_acl (line 683)
get_acl()
Grabs ACL data.
get_group_children (line 1441)
get_group_children()
Gets a groups child IDs
get_group_data (line 1491)
get_group_data()
Gets the group data given the GROUP_ID.
get_group_id (line 1378)
get_group_id()
Gets the group_id given the name or value.
Will only return one group id, so if there are duplicate names, it will return false.
get_group_objects (line 1796)
get_group_objects()
Gets all objects assigned to a group.
If $option == 'RECURSE' it will get all objects in child groups as well. defaults to omit child groups.
get_group_parent_id (line 1533)
get_group_parent_id()
Grabs the parent_id of a given group
get_object (line 2480)
get_object()
Grabs all Objects's in the database, or specific to a section_value
get_objects (line 2607)
get_objects ()
Grabs all Objects in the database, or specific to a section_value
get_object_data (line 2671)
get_object_data()
Gets all data pertaining to a specific Object.
get_object_groups (line 2874)
get_object_groups()
Gets all groups an object is a member of.
If $option == 'RECURSE' it will get all ancestor groups. defaults to only get direct parents.
get_object_id (line 2731)
get_object_id()
Gets the object_id given the section_value AND value of the object.
get_object_section_section_id (line 3333)
get_object_section_section_id()
Gets the object_section_id given the name AND/OR value of the section.
Will only return one section id, so if there are duplicate names it will return false.
get_object_section_value (line 2802)
get_object_section_value()
Gets the object_section_value given object id
get_root_group_id (line 1587)
get_root_group_id ()
Grabs the id of the root group for the specified tree
get_schema_version (line 122)
get_schema_version()
Grabs phpGACL schema version from the database.
get_ungrouped_objects (line 2547)
get_ungrouped_objects()
Grabs ID's of all Objects (ARO's and AXO's only) in the database not assigned to a Group.
This function is useful for applications that synchronize user databases with an outside source. If syncrhonization doesn't automatically place users in an appropriate group, this function can quickly identify them so that they can be assigned to the correct group.
get_version (line 108)
get_version()
Grabs phpGACL version from the database.
is_conflicting_acl (line 777)
is_conflicting_acl()
Checks for conflicts when adding a specific ACL.
rebuild_tree (line 2132)
rebuild_tree ()
rebuilds the group tree for the given type
search_acl (line 320)
search_acl()
Searches for ACL's with specified objects mapped to them.
NULL values are included in the search, if you want to ignore for instance aro_groups use FALSE instead of NULL.
shift_acl (line 528)
shift_acl()
Opposite of append_acl(). Removes objects from a specific ACL. (named after PHP's array_shift())
showarray (line 66)
showarray()
Dump all contents of an array in HTML (kinda)
sort_groups (line 1238)
sort_groups()
Grabs all the groups from the database doing preliminary grouping by parent
_rebuild_tree (line 2180)
_rebuild_tree ()
Utility recursive function called by rebuild_tree()
Inherited From gacl
gacl::gacl()
gacl::acl_check()
gacl::acl_check_array()
gacl::acl_get_groups()
gacl::acl_query()
gacl::acl_return_value()
gacl::debug_db()
gacl::debug_text()
gacl::get_cache()
gacl::put_cache()
Documentation generated on Sat, 03 Sep 2005 14:59:45 -0700 by phpDocumentor 1.3.0RC3