$value) { $acceptCreditCard[$value] = $value; } return $acceptCreditCard; } /** * Get all premiums * * @access public * * @return array - array of all Premiums if any * @static */ public static function products($pageID = NULL) { $products = array(); $dao = new CRM_Contribute_DAO_Product(); $dao->is_active = 1; $dao->orderBy('id'); $dao->find(); while ($dao->fetch()) { $products[$dao->id] = $dao->name; } if ($pageID) { $dao = new CRM_Contribute_DAO_Premium(); $dao->entity_table = 'civicrm_contribution_page'; $dao->entity_id = $pageID; $dao->find(TRUE); $premiumID = $dao->id; $productID = array(); $dao = new CRM_Contribute_DAO_PremiumsProduct(); $dao->premiums_id = $premiumID; $dao->find(); while ($dao->fetch()) { $productID[$dao->product_id] = $dao->product_id; } $tempProduct = array(); foreach ($products as $key => $value) { if (!array_key_exists($key, $productID)) { $tempProduct[$key] = $value; } } return $tempProduct; } return $products; } /** * Get all the contribution statuses * * @access public * * @return array - array reference of all contribution statuses * @static */ public static function &contributionStatus($id = NULL, $columnName = 'label') { $cacheKey = $columnName; if (!isset(self::$contributionStatus[$cacheKey])) { self::$contributionStatus[$cacheKey] = CRM_Core_OptionGroup::values('contribution_status', FALSE, FALSE, FALSE, NULL, $columnName ); } $result = self::$contributionStatus[$cacheKey]; if ($id) { $result = CRM_Utils_Array::value($id, $result); } return $result; } /** * Get all the Personal campaign pages * * @access public * * @return array - array reference of all pcp if any * @static */ public static function &pcPage($pageType = NULL, $id = NULL) { if (!isset(self::$pcPage[$pageType])) { if ($pageType) { $params = "page_type='{$pageType}'"; } else { $params = ''; } CRM_Core_PseudoConstant::populate(self::$pcPage[$pageType], 'CRM_PCP_DAO_PCP', FALSE, 'title', 'is_active', $params ); } $result = self::$pcPage[$pageType]; if ($id) { return $result = CRM_Utils_Array::value($id, $result); } return $result; } /** * Get all PCP Statuses. * * The static array pcpStatus is returned * * @access public * @static * * @return array - array reference of all PCP activity statuses */ public static function &pcpStatus($column = 'label') { if (NULL === self::$pcpStatus) { self::$pcpStatus = array(); } if (!array_key_exists($column, self::$pcpStatus)) { self::$pcpStatus[$column] = array(); self::$pcpStatus[$column] = CRM_Core_OptionGroup::values('pcp_status', FALSE, FALSE, FALSE, NULL, $column ); } return self::$pcpStatus[$column]; } /** * Get all financial accounts for a Financial type. * * The static array $financialTypeAccount is returned * * @access public * @static * * @return array - array reference of all financial accounts for a Financial type */ public static function financialAccountType($financialTypeId, $relationTypeId = NULL) { if (!CRM_Utils_Array::value($financialTypeId, self::$financialTypeAccount)) { $condition = " entity_id = $financialTypeId "; CRM_Core_PseudoConstant::populate( self::$financialTypeAccount[$financialTypeId], 'CRM_Financial_DAO_EntityFinancialAccount', $all = true, $retrieve = 'financial_account_id', $filter = NULL, $condition, NULL, 'account_relationship' ); } if ($relationTypeId) { return CRM_Utils_Array::value($relationTypeId, self::$financialTypeAccount[$financialTypeId]); } return self::$financialTypeAccount[$financialTypeId]; } }