/** * Function to delete membership Types * * @param int $membershipStatusId * @static */ static function del($membershipStatusId) { //check dependencies //checking if any membership status is present in some other table $check = false; $dependancy = array('Membership', 'MembershipLog'); foreach ($dependancy as $name) { require_once str_replace('_', DIRECTORY_SEPARATOR, "CRM_Member_BAO_" . $name) . ".php"; eval('$dao = new CRM_Member_BAO_' . $name . '();'); $dao->status_id = $membershipStatusId; if ($dao->find(true)) { $check = true; } } if ($check) { $session = CRM_Core_Session::singleton(); CRM_Core_Session::setStatus(ts('This membership status cannot be deleted')); return CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/admin/member/membershipStatus', "reset=1")); } //delete from membership Type table require_once 'CRM/Member/DAO/MembershipStatus.php'; $membershipStatus = new CRM_Member_DAO_MembershipStatus(); $membershipStatus->id = $membershipStatusId; $membershipStatus->delete(); $membershipStatus->free(); }
/** * Delete membership Types. * * @param int $membershipStatusId * * @throws CRM_Core_Exception */ public static function del($membershipStatusId) { //check dependencies //checking if membership status is present in some other table $check = FALSE; $dependency = array('Membership', 'MembershipLog'); foreach ($dependency as $name) { $baoString = 'CRM_Member_BAO_' . $name; $dao = new $baoString(); $dao->status_id = $membershipStatusId; if ($dao->find(TRUE)) { throw new CRM_Core_Exception(ts('This membership status cannot be deleted as memberships exist with this status')); } } CRM_Utils_Weight::delWeight('CRM_Member_DAO_MembershipStatus', $membershipStatusId); //delete from membership Type table $membershipStatus = new CRM_Member_DAO_MembershipStatus(); $membershipStatus->id = $membershipStatusId; $membershipStatus->delete(); $membershipStatus->free(); }
/** * Function to delete membership Types * * @param int $membershipStatusId * @param * @static */ static function del($membershipStatusId, $skipRedirect = FALSE) { //check dependencies //checking if membership status is present in some other table $check = FALSE; $dependancy = array('Membership', 'MembershipLog'); foreach ($dependancy as $name) { require_once str_replace('_', DIRECTORY_SEPARATOR, "CRM_Member_BAO_" . $name) . ".php"; eval('$dao = new CRM_Member_BAO_' . $name . '();'); $dao->status_id = $membershipStatusId; if ($dao->find(TRUE)) { $check = TRUE; } } if ($check) { if (!$skipRedirect) { $session = CRM_Core_Session::singleton(); CRM_Core_Session::setStatus(ts('This membership status cannot be deleted')); return CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/admin/member/membershipStatus', "reset=1")); } // Return the error message to the api $error = array(); $error['is_error'] = 1; //don't translate as api error message are not translated $error['error_message'] = 'The membership status cannot be deleted as memberships of this status exist'; return $error; } //delete from membership Type table $membershipStatus = new CRM_Member_DAO_MembershipStatus(); $membershipStatus->id = $membershipStatusId; $membershipStatus->delete(); $membershipStatus->free(); }