<?php
$query->where(array('slideshow_album_id' => $album_id ) );
switch ($sort_type) {
case 'tbd':
$query->where(array(
'slide_status' => 'tbd' )
);
$query->sortby('edit_time','DESC');
break;
case 'archive':
$query->where(array(
'slide_status' => 'archive' )
);
$query->sortby('end_date','DESC');
break;
case 'future':
$today = date("Y-m-d");
/* @link http://rtfm.modx.com/display/xPDO20/xPDOQuery */
$query->andCondition(array(
array('AND:slide_status:IN' => array('future', 'replace' ) ),
array(
'OR:slide_status:=' => 'live',
'AND:start_date:>' => $today
),
array(
'OR:slide_status:=' => 'live',
'AND:end_date:<' => $today
)
));
$query->sortby('start_date','ASC');
break;
case 'current':
default:
$today = date("Y-m-d");
$query->where(array(
'slide_status' => 'live',
'start_date:<=' => $today,
'end_date:>=' => $today)
);
$query->sortby('sequence','ASC');
break;
}
?>
WHERE ( `jgSlideshowSlide`.`slideshow_album_id` = 1 OR ( `jgSlideshowSlide`.`slide_status` IN ('future','replace') OR ( `jgSlideshowSlide`.`slide_status` = 'live' AND `jgSlideshowSlide`.`start_date` > '2011-03-25' ) OR ( `jgSlideshowSlide`.`slide_status` = 'live' AND `jgSlideshowSlide`.`end_date` < '2011-03-25' ) ) ) ORDER BY start_date ASC
$query->where(array('slideshow_album_id' => $album_id ), xPDOQuery::SQL_AND );
WHERE ( `jgSlideshowSlide`.`slideshow_album_id` = 1 AND
( `jgSlideshowSlide`.`slide_status` = 'live' AND
`jgSlideshowSlide`.`start_date` <= '2011-03-25' AND
`jgSlideshowSlide`.`end_date` >= '2011-03-25'
)
)
ORDER BY sequence ASC 
<?php
$conditions = array('slideshow_album_id' => $album_id );
switch ($sort_type) {
case 'tbd':
$conditions['slide_status'] = 'tbd';
$query->where($conditions)
$query->sortby('edit_time','DESC');
break;
case 'archive':
$conditions['slide_status'] = 'archive';
$query->where($conditions);
$query->sortby('end_date','DESC');
break;
case 'future':
$today = date("Y-m-d");
/* @link http://rtfm.modx.com/display/xPDO20/xPDOQuery */
$conditions[] = array(
array('AND:slide_status:IN' => array('future', 'replace' )),
array(
'OR:slide_status:=' => 'live',
'AND:start_date:>' => $today
),
array(
'OR:slide_status:=' => 'live',
'AND:end_date:<' => $today
)
));
$query->where($conditions);
$query->sortby('start_date','ASC');
break;
case 'current':
default:
$today = date("Y-m-d");
$conditions[] = array(
'slide_status' => 'live',
'start_date:<=' => $today,
'end_date:>=' => $today
));
$query->where($conditions);
$query->sortby('sequence','ASC');
break;
}
?>
<?php
// array('AND:slide_status:IN' => array('future', 'replace' )),
array( 'AND:slide_status:=' => 'future',
'OR:slide_status:=' => 'replace' ),
?>