summaryrefslogtreecommitdiff
path: root/LibertyContent.php
diff options
context:
space:
mode:
authorMax Kremmel <xing@synapse.plus.com>2007-07-08 09:31:17 +0000
committerMax Kremmel <xing@synapse.plus.com>2007-07-08 09:31:17 +0000
commit0d98ceb3b3971d5fddc83530a3ab1d94f77483b0 (patch)
tree8d57f714e9bcdc90bf808404083ded4efc93d5b2 /LibertyContent.php
parent9ac573703284eec2edd4311a94069c967fdeb94f (diff)
downloadliberty-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.php28
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