summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Palmer <nick@sluggardy.net>2007-12-09 14:33:00 +0000
committerNick Palmer <nick@sluggardy.net>2007-12-09 14:33:00 +0000
commitef6dbc428f0a6687a6f2ae82769621af10b1c23d (patch)
tree0f012677140795ab92e77b4bc206e4c576c116c0
parent575bcdf5534c1518fc0bf2ccd0e16803cc11bcd7 (diff)
downloadpigeonholes-ef6dbc428f0a6687a6f2ae82769621af10b1c23d.tar.gz
pigeonholes-ef6dbc428f0a6687a6f2ae82769621af10b1c23d.tar.bz2
pigeonholes-ef6dbc428f0a6687a6f2ae82769621af10b1c23d.zip
Make it possible to tweak the members list sql from outside Pigeonholes.
-rw-r--r--Pigeonholes.php28
1 files changed, 25 insertions, 3 deletions
diff --git a/Pigeonholes.php b/Pigeonholes.php
index 4511e7f..1dc7e32 100644
--- a/Pigeonholes.php
+++ b/Pigeonholes.php
@@ -1,6 +1,6 @@
<?php
/**
- * @version $Header: /cvsroot/bitweaver/_bit_pigeonholes/Pigeonholes.php,v 1.120 2007/11/19 14:53:01 nickpalmer Exp $
+ * @version $Header: /cvsroot/bitweaver/_bit_pigeonholes/Pigeonholes.php,v 1.121 2007/12/09 14:33:00 nickpalmer Exp $
*
* +----------------------------------------------------------------------+
* | Copyright ( c ) 2004, bitweaver.org
@@ -17,7 +17,7 @@
* Pigeonholes class
*
* @author xing <xing@synapse.plus.com>
- * @version $Revision: 1.120 $
+ * @version $Revision: 1.121 $
* @package pigeonholes
*/
@@ -143,7 +143,25 @@ class Pigeonholes extends LibertyAttachable {
$bindVars[] = strtoupper( $pListHash['title'] );
}
- $order = "ORDER BY lc.`content_type_guid`, lc.`title` ASC";
+ if( !empty( $pListHash['order'] ) ) {
+ $order = "ORDER BY ".$pListHash['order'];
+ }
+ else {
+ $order = "ORDER BY lc.`content_type_guid`, lc.`title` ASC";
+ }
+
+ if( !empty( $pListHash['select'] ) ) {
+ $select .= $pListHash['select'];
+ }
+
+ if( !empty( $pListHash['join'] ) ) {
+ $join .= $pListHash['join'];
+ }
+
+ if( !empty( $pListHash['where'] ) ) {
+ $where .= empty( $where ) ? ' WHERE ' : ' AND ';
+ $where .= $pListHash['where'];
+ }
$ret = array();
$query = "
@@ -531,6 +549,10 @@ class Pigeonholes extends LibertyAttachable {
'list_page' => !empty( $pListHash['members_list_page'] ) ? $pListHash['members_list_page'] : NULL,
'sort_mode' => !empty( $pListHash['members_sort_mode'] ) ? $pListHash['members_sort_mode'] : NULL,
'find' => !empty( $pListHash['members_find'] ) ? $pListHash['members_find'] : NULL,
+ 'order' => !empty( $pListHash['members_order'] ) ? $pListHash['members_order'] : NULL,
+ 'select' => !empty( $pListHash['members_select'] ) ? $pListHash['members_select'] : NULL,
+ 'join' => !empty( $pListHash['members_join'] ) ? $pListHash['members_join'] : NULL,
+ 'where' => !empty( $pListHash['members_where'] ) ? $pListHash['members_where'] : NULL,
);
$aux['members'] = $this->getMemberList( $memberListHash );
$aux['listInfo'] = $memberListHash['listInfo'];