Exemplo n.º 1
0
 static function &buildMembershipTypeValues(&$form, $membershipTypeID = null)
 {
     $whereClause = null;
     if (is_array($membershipTypeID)) {
         $allIDs = implode(',', $membershipTypeID);
         $whereClause = "WHERE id IN ( {$allIDs} )";
     } else {
         if (is_numeric($membershipTypeID) && $membershipTypeID > 0) {
             $whereClause = "WHERE id = {$membershipTypeID}";
         }
     }
     $query = "\nSELECT *\nFROM   civicrm_membership_type\n       {$whereClause};\n";
     $dao = CRM_Core_DAO::executeQuery($query);
     $membershipTypeValues = array();
     $membershipTypeFields = array('id', 'minimum_fee', 'name', 'is_active', 'description', 'contribution_type_id', 'auto_renew');
     while ($dao->fetch()) {
         $membershipTypeValues[$dao->id] = array();
         foreach ($membershipTypeFields as $mtField) {
             $membershipTypeValues[$dao->id][$mtField] = $dao->{$mtField};
         }
     }
     $dao->free();
     require_once 'CRM/Utils/Hook.php';
     CRM_Utils_Hook::membershipTypeValues($form, $membershipTypeValues);
     if (is_numeric($membershipTypeID) && $membershipTypeID > 0) {
         return $membershipTypeValues[$membershipTypeID];
     } else {
         return $membershipTypeValues;
     }
 }
Exemplo n.º 2
0
 /**
  * Build an array of available membership types.
  *
  * @param CRM_Core_Form $form
  * @param array $membershipTypeID
  * @param bool $activeOnly
  *   Do we only want active ones?
  *   (probably this should default to TRUE but as a newly added parameter we are leaving default b
  *   behaviour unchanged).
  *
  * @return array
  */
 public static function buildMembershipTypeValues(&$form, $membershipTypeID = array(), $activeOnly = FALSE)
 {
     $whereClause = " WHERE domain_id = " . CRM_Core_Config::domainID();
     $membershipTypeIDS = (array) $membershipTypeID;
     if ($activeOnly) {
         $whereClause .= " AND is_active = 1 ";
     }
     if (!empty($membershipTypeIDS)) {
         $allIDs = implode(',', $membershipTypeIDS);
         $whereClause .= " AND id IN ( {$allIDs} )";
     }
     CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes, CRM_Core_Action::ADD);
     if ($financialTypes) {
         $whereClause .= " AND financial_type_id IN (" . implode(',', array_keys($financialTypes)) . ")";
     } else {
         $whereClause .= " AND financial_type_id IN (0)";
     }
     $query = "\nSELECT *\nFROM   civicrm_membership_type\n       {$whereClause};\n";
     $dao = CRM_Core_DAO::executeQuery($query);
     $membershipTypeValues = array();
     $membershipTypeFields = array('id', 'minimum_fee', 'name', 'is_active', 'description', 'financial_type_id', 'auto_renew', 'member_of_contact_id', 'relationship_type_id', 'relationship_direction', 'max_related', 'duration_unit', 'duration_interval');
     while ($dao->fetch()) {
         $membershipTypeValues[$dao->id] = array();
         foreach ($membershipTypeFields as $mtField) {
             $membershipTypeValues[$dao->id][$mtField] = $dao->{$mtField};
         }
     }
     $dao->free();
     CRM_Utils_Hook::membershipTypeValues($form, $membershipTypeValues);
     if (is_numeric($membershipTypeID) && $membershipTypeID > 0) {
         return $membershipTypeValues[$membershipTypeID];
     } else {
         return $membershipTypeValues;
     }
 }
Exemplo n.º 3
0
 /**
  * @param CRM_Core_Form $form
  * @param int $membershipTypeID
  *
  * @return array
  */
 public static function &buildMembershipTypeValues(&$form, $membershipTypeID = NULL)
 {
     $whereClause = " WHERE domain_id = " . CRM_Core_Config::domainID();
     if (is_array($membershipTypeID)) {
         $allIDs = implode(',', $membershipTypeID);
         $whereClause .= " AND id IN ( {$allIDs} )";
     } elseif (is_numeric($membershipTypeID) && $membershipTypeID > 0) {
         $whereClause .= " AND id = {$membershipTypeID}";
     }
     $query = "\nSELECT *\nFROM   civicrm_membership_type\n       {$whereClause};\n";
     $dao = CRM_Core_DAO::executeQuery($query);
     $membershipTypeValues = array();
     $membershipTypeFields = array('id', 'minimum_fee', 'name', 'is_active', 'description', 'financial_type_id', 'auto_renew', 'member_of_contact_id', 'relationship_type_id', 'relationship_direction', 'max_related');
     while ($dao->fetch()) {
         $membershipTypeValues[$dao->id] = array();
         foreach ($membershipTypeFields as $mtField) {
             $membershipTypeValues[$dao->id][$mtField] = $dao->{$mtField};
         }
     }
     $dao->free();
     CRM_Utils_Hook::membershipTypeValues($form, $membershipTypeValues);
     if (is_numeric($membershipTypeID) && $membershipTypeID > 0) {
         return $membershipTypeValues[$membershipTypeID];
     } else {
         return $membershipTypeValues;
     }
 }