/** * Determine dependent VAT rules and products for the given VAT types. * * \private */ function findDependencies( $vatTypeIDList, &$deps, &$haveDeps, &$canRemove ) { // Find dependencies (products and/or VAT rules). $deps = array(); $haveDeps = false; $canRemove = true; foreach ( $vatTypeIDList as $vatID ) { $vatType = eZVatType::fetch( $vatID ); $vatName = $vatType->attribute( 'name' ); // Find dependent VAT rules. $nRules = eZVatRule::fetchCountByVatType( $vatID ); // Find dependent products. $nProducts = eZVatType::fetchDependentProductsCount( $vatID ); // Find product classes having this VAT type set as default. $nClasses = eZVatType::fetchDependentClassesCount( $vatID ); if ( $nClasses ) $canRemove = false; $deps[$vatID] = array( 'name' => $vatName, 'affected_rules_count' => $nRules, 'affected_products_count' => $nProducts, 'affected_classes_count' => $nClasses ); if ( !$haveDeps && ( $nRules > 0 || $nProducts > 0 ) ) $haveDeps = true; } }