summaryrefslogtreecommitdiff
path: root/Pigeonholes.php
diff options
context:
space:
mode:
authorSylvie Greverend <sylvieg@users.sourceforge.net>2006-05-15 08:36:46 +0000
committerSylvie Greverend <sylvieg@users.sourceforge.net>2006-05-15 08:36:46 +0000
commit1c9cd208681808832762c5eacf5e19077ce237d9 (patch)
treee2c6747b63e615698c7eba9e8863f44f4b4833d0 /Pigeonholes.php
parentb349ac5d1e5f33990007bb6de1cd617550abbefb (diff)
downloadpigeonholes-1c9cd208681808832762c5eacf5e19077ce237d9.tar.gz
pigeonholes-1c9cd208681808832762c5eacf5e19077ce237d9.tar.bz2
pigeonholes-1c9cd208681808832762c5eacf5e19077ce237d9.zip
be able to filter a getList on a list of pigeonholes by setting hash['pigeonholes']
Diffstat (limited to 'Pigeonholes.php')
-rw-r--r--Pigeonholes.php24
1 files changed, 22 insertions, 2 deletions
diff --git a/Pigeonholes.php b/Pigeonholes.php
index d0312d1..c76bf14 100644
--- a/Pigeonholes.php
+++ b/Pigeonholes.php
@@ -1,6 +1,6 @@
<?php
/**
- * @version $Header: /cvsroot/bitweaver/_bit_pigeonholes/Pigeonholes.php,v 1.57 2006/05/05 16:51:47 squareing Exp $
+ * @version $Header: /cvsroot/bitweaver/_bit_pigeonholes/Pigeonholes.php,v 1.58 2006/05/15 08:36:46 sylvieg Exp $
*
* +----------------------------------------------------------------------+
* | Copyright ( c ) 2004, bitweaver.org
@@ -17,7 +17,7 @@
* Pigeonholes class
*
* @author xing <xing@synapse.plus.com>
- * @version $Revision: 1.57 $
+ * @version $Revision: 1.58 $
* @package pigeonholes
*/
@@ -931,4 +931,24 @@ function pigeonholes_content_store( $pObject, $pParamHash ) {
}
}
}
+/**
+ * filter the search with pigeonholes
+ * @param $pParamHash['pigeonholes'] - a pigeonhole or an array of pigeonhole content_id
+ **/
+function pigeonholes_content_list_sql ( &$pObject, $pParamHash = '') {
+ global $gBitSystem;
+ $ret = array();
+ if( /*$gBitSystem->isFeatureActive( 'pigeonholes_categorize_'.$pObject->getContentType() ) && */ !empty( $pParamHash['pigeonholes'] ) ) {
+ if ( is_array( $pParamHash['pigeonholes'] ) ) {
+ $ret['join_sql'] = "LEFT JOIN `".BIT_DB_PREFIX."pigeonhole_members` pm ON (lc .`content_id`= pm.`content_id`)";
+ $ret['where_sql'] = ' AND pm.`parent_id` in ('.implode( ',', array_fill(0, count( $pParamHash['pigeonholes'] ), '?' ) ).')';
+ $ret['bind_vars'] = $pParamHash['pigeonholes'];
+ } else {
+ $ret['join_sql'] = "LEFT JOIN `".BIT_DB_PREFIX."pigeonhole_members` pm ON (lc .`content_id`= pm.`content_id`)";
+ $ret['where_sql'] = " AND pm.`parent_id`=? ";
+ $ret['bind_vars'][] = $pParamHash['pigeonholes'];
+ }
+ }
+ return $ret;
+}
?>