diff options
| author | Max Kremmel <xing@synapse.plus.com> | 2007-07-08 09:31:17 +0000 |
|---|---|---|
| committer | Max Kremmel <xing@synapse.plus.com> | 2007-07-08 09:31:17 +0000 |
| commit | 0d98ceb3b3971d5fddc83530a3ab1d94f77483b0 (patch) | |
| tree | 8d57f714e9bcdc90bf808404083ded4efc93d5b2 /LibertyContent.php | |
| parent | 9ac573703284eec2edd4311a94069c967fdeb94f (diff) | |
| download | liberty-0d98ceb3b3971d5fddc83530a3ab1d94f77483b0.tar.gz liberty-0d98ceb3b3971d5fddc83530a3ab1d94f77483b0.tar.bz2 liberty-0d98ceb3b3971d5fddc83530a3ab1d94f77483b0.zip | |
add basic method to fetch all content with custom content permissions
Diffstat (limited to 'LibertyContent.php')
| -rw-r--r-- | LibertyContent.php | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/LibertyContent.php b/LibertyContent.php index 7aadf3c..4473065 100644 --- a/LibertyContent.php +++ b/LibertyContent.php @@ -3,7 +3,7 @@ * Management of Liberty content * * @package liberty -* @version $Header: /cvsroot/bitweaver/_bit_liberty/LibertyContent.php,v 1.257 2007/07/07 21:30:33 spiderr Exp $ +* @version $Header: /cvsroot/bitweaver/_bit_liberty/LibertyContent.php,v 1.258 2007/07/08 09:31:17 squareing Exp $ * @author spider <spider@steelsun.com> */ @@ -867,8 +867,7 @@ class LibertyContent extends LibertyBase { INNER JOIN `".BIT_DB_PREFIX."users_groups` ug ON( lcperm.`group_id`=ug.`group_id` ) LEFT OUTER JOIN `".BIT_DB_PREFIX."users_permissions` up ON( up.`perm_name`=lcperm.`perm_name` ) WHERE lcperm.`content_id` = ?"; - $bindVars = array( $this->mContentId ); - $perms = $this->mDb->getAll( $query, $bindVars ); + $perms = $this->mDb->getAll( $query, array( $this->mContentId )); foreach( $perms as $perm ) { $ret[$perm['group_id']][$perm['perm_name']] = $perm; } @@ -877,6 +876,29 @@ class LibertyContent extends LibertyBase { } /** + * Get a list of content with permissions + * + * @access public + * @return TRUE on success, FALSE on failure - mErrors will contain reason for failure + */ + function getContentWithPermissionsList() { + global $gBitSystem; + $ret = array(); + $query = " + SELECT lcperm.`perm_name`, lc.`title`, lc.`content_id`, lc.`content_type_guid`, lcperm.`is_excluded`, ug.`group_id`, ug.`group_name`, up.`perm_desc` + FROM `".BIT_DB_PREFIX."liberty_content_permissions` lcperm + INNER JOIN `".BIT_DB_PREFIX."users_groups` ug ON( lcperm.`group_id`=ug.`group_id` ) + INNER JOIN `".BIT_DB_PREFIX."liberty_content` lc ON( lcperm.`content_id`=lc.`content_id` ) + LEFT OUTER JOIN `".BIT_DB_PREFIX."users_permissions` up ON( up.`perm_name`=lcperm.`perm_name` ) + ORDER BY ".$gBitSystem->mDb->convertSortmode( 'content_type_guid_asc' ).", ".$gBitSystem->mDb->convertSortmode( 'title_asc' ); + $perms = $gBitSystem->mDb->getAll( $query ); + foreach( $perms as $perm ) { + $ret[$perm['content_type_guid']][$perm['content_id']][] = $perm; + } + return $ret; + } + + /** * Expunge Object Permissions * * @access public |
