*
* @package CRM
* @copyright CiviCRM LLC (c) 2004-2015
- * $Id$
- *
*/
class CRM_Member_BAO_Query {
* If membership are involved, add the specific membership fields
*
* @param $query
- *
- * @return void
*/
public static function select(&$query) {
// if membership mode add membership id
$query->_whereTables['civicrm_membership_status'] = 1;
}
- if (!empty($query->_returnProperties['status_id'])) {
+ if (!empty($query->_returnProperties['membership_status_id'])) {
$query->_select['status_id'] = "civicrm_membership_status.id as status_id";
$query->_element['status_id'] = 1;
$query->_tables['civicrm_membership_status'] = 1;
$query->_tables['civicrm_membership'] = $query->_whereTables['civicrm_membership'] = 1;
return;
- case 'membership_status':
+ // CRM-17011 These 2 variants appear in some smart groups saved at some time prior to 4.6.6.
case 'member_status_id':
+ case 'member_membership_type_id':
+ if (is_array($value)) {
+ $op = 'IN';
+ $value = array_keys($value);
+ }
+ case 'membership_status':
+ case 'membership_status_id':
case 'membership_type':
case 'membership_type_id':
case 'member_id':
}
else {
$name = 'membership_type_id';
- $qillName = 'Memebership Type(s)';
+ $qillName = 'Membership Type(s)';
}
$query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause("civicrm_membership.$name",
$op,
return;
case 'member_campaign_id':
+ if (CRM_Utils_Array::value($op, $value)) {
+ $value = $value[$op];
+ }
$campParams = array(
'op' => $op,
'campaign' => $value,
* @param CRM_Core_Form $form
*/
public static function buildSearchForm(&$form) {
- $form->addSelect('status_id',
- array('entity' => 'membership', 'multiple' => 'multiple', 'label' => ts('Memebership Status(s)'), 'option_url' => NULL, 'placeholder' => ts('- any -'))
+ $membershipStatus = CRM_Member_PseudoConstant::membershipStatus(NULL, NULL, 'label', FALSE, FALSE);
+ $form->add('select', 'membership_status_id', ts('Membership Status(s)'), $membershipStatus, FALSE,
+ array('id' => 'membership_status_id', 'multiple' => 'multiple', 'class' => 'crm-select2')
);
$form->addSelect('membership_type_id',
- array('entity' => 'membership', 'multiple' => 'multiple', 'label' => ts('Memebership Type(s)'), 'option_url' => NULL, 'placeholder' => ts('- any -'))
+ array('entity' => 'membership', 'multiple' => 'multiple', 'label' => ts('Membership Type(s)'), 'option_url' => NULL, 'placeholder' => ts('- any -'))
);
$form->addElement('text', 'member_source', ts('Source'));