- public static function buildPermissionedClause(&$whereClauses) {
- self::getAvailableFinancialTypes($financialType);
- foreach ($financialType as $id => $type) {
- $ids[] = $id;
+ public static function buildPermissionedClause(&$whereClauses, $component = NULL) {
+ self::getAvailableFinancialTypes($types);
+ if (is_array($whereClauses)) {
+ $whereClauses[] = ' financial_type_id IN (' . implode(',' , array_keys($types)) .')';
+ }
+ else {
+ if ($component == 'contribution') {
+ $column = "financial_type_id";
+ }
+ if ($component == 'membership') {
+ $types = array();
+ self::getAvailableMembershipTypes($types, 'view');
+ $column = "membership_type_id";
+ }
+ $whereClauses .= " AND civicrm_{$component}.{$column} IN (". implode(',' , array_keys($types)) .")";