do { if ($errors !== false) { break; } // The entered data is ok. if ($module->isCurrentAction('StoreChanges')) { // Store changes made to the VAT rule. $vatRule = eZVatRule::fetch($ruleID); if (!is_object($vatRule)) { //$ruleID = null; $errors[] = ezpI18n::tr('kernel/shop/editvatrule', 'Rule not found'); break; } } else { // Create a new VAT rule... $vatRule = eZVatRule::create(); } // Modify chosen categories array // so that it can be saved into the VAT rule. $addID = create_function('$i', "return array( 'id' => \$i ) ;"); $chosenCategories = array_map($addID, $chosenCategories); $vatRule->setAttribute('country_code', $chosenCountry); $vatRule->setAttribute('product_categories', $chosenCategories); $vatRule->setAttribute('vat_type', $chosenVatType); $vatRule->store(); return $module->redirectTo($module->functionURI('vatrules')); } while (false); } } if (is_numeric($ruleID)) { $tplVatRule = eZVatRule::fetch($ruleID);