//avoid pending membership as current membership: CRM-3027
$statusIds[] = array_search('Pending', CRM_Member_PseudoConstant::membershipStatus());
if (!$membershipId) {
- $statusIds[] = array_search('Cancelled', CRM_Member_PseudoConstant::membershipStatus());
+ // CRM-15475
+ $statusIds[] = array_search(
+ 'Cancelled',
+ CRM_Member_PseudoConstant::membershipStatus(
+ NULL,
+ " name = 'Cancelled' ",
+ 'name',
+ FALSE,
+ TRUE
+ )
+ );
}
$dao->whereAdd('status_id NOT IN ( ' . implode(',', $statusIds) . ')');
WHERE mem.id = %1 LIMIT 1";
$params = array(1 => array($mid, 'Integer'));
$statusId = CRM_Core_DAO::singleValueQuery($sql, $params);
- $status = CRM_Contribute_PseudoConstant::contributionStatus($statusId);
+ $status = CRM_Contribute_PseudoConstant::contributionStatus($statusId, 'name');
if ($status == 'Cancelled') {
return TRUE;
}
//1. membership with status : PENDING/CANCELLED (CRM-2395)
//2. Paylater/IPN renew. CRM-4556.
if ($pending || in_array($currentMembership['status_id'], array(array_search('Pending', $allStatus),
- array_search('Cancelled', $allStatus),
+ // CRM-15475
+ array_search('Cancelled', CRM_Member_PseudoConstant::membershipStatus(NULL, " name = 'Cancelled' ", 'name', FALSE, TRUE)),
))
) {
$membership = new CRM_Member_DAO_Membership();
//skipping Expired membership records -> reduced extra processing( kiran )
if (!$dao->is_override &&
!in_array($dao->status_id, array(array_search('Pending', $allStatus),
- array_search('Cancelled', $allStatus),
+ // CRM-15475
+ array_search(
+ 'Cancelled',
+ CRM_Member_PseudoConstant::membershipStatus(NULL, " name = 'Cancelled' ", 'name', FALSE, TRUE)
+ ),
array_search('Expired', $allStatus),
))
) {
if (!$contactID) {
return array();
}
- $allStatus = CRM_Member_PseudoConstant::membershipStatus();
$query = 'SELECT membership_type_id FROM civicrm_membership WHERE contact_id = %1 AND status_id = %2 AND is_test = %3';
$queryParams = array(
1 => array($contactID, 'Integer'),
- 2 => array(array_search('Cancelled', $allStatus), 'Integer'),
+ 2 => array(
+ // CRM-15475
+ array_search(
+ 'Cancelled',
+ CRM_Member_PseudoConstant::membershipStatus(
+ NULL,
+ " name = 'Cancelled' ",
+ 'name',
+ FALSE,
+ TRUE
+ )
+ ),
+ 'Integer'
+ ),
3 => array($isTest, 'Boolean'),
);
//display end date w/ status message.
$endDate = $membership->end_date;
- $membershipStatues = CRM_Member_PseudoConstant::membershipStatus();
if (!in_array($membership->status_id, array(
- array_search('Cancelled', $membershipStatues),
- array_search('Expired', $membershipStatues),
+ // CRM-15475
+ array_search('Cancelled', CRM_Member_PseudoConstant::membershipStatus(NULL, " name = 'Cancelled' ", 'name', FALSE, TRUE)),
+ array_search('Expired', CRM_Member_PseudoConstant::membershipStatus()),
))
) {
$cancelled = FALSE;
* @return array - array reference of all membership statuss if any
* @static
*/
- public static function &membershipStatus($id = NULL, $cond = NULL, $column = 'name', $force = FALSE) {
+ public static function &membershipStatus($id = NULL, $cond = NULL, $column = 'name', $force = FALSE, $allStatus = FALSE) {
if (self::$membershipStatus === NULL) {
self::$membershipStatus = array();
}
if (!isset(self::$membershipStatus[$cacheKey]) || $force) {
CRM_Core_PseudoConstant::populate(self::$membershipStatus[$cacheKey],
'CRM_Member_DAO_MembershipStatus',
- FALSE, $column, 'is_active', $cond, 'weight'
+ $allStatus, $column, 'is_active', $cond, 'weight'
);
}