public static function getValidationRules() { $step_number = Tools::getValue('step_number'); if ($step_number == 4 && !Shop::isFeatureActive() || $step_number == 5 && Shop::isFeatureActive()) { return array(); } $step_fields = array(1 => array('name', 'delay', 'grade', 'url'), 2 => array('is_free', 'id_tax_rules_group', 'shipping_handling', 'shipping_method', 'range_behavior'), 3 => array('range_behavior', 'max_height', 'max_width', 'max_depth', 'max_weight'), 4 => array()); if (Shop::isFeatureActive()) { $multistore_field = array(array('shop')); array_splice($step_fields, 1, 0, $multistore_field); } $rules = Carrier::getValidationRules('Carrier'); foreach ($rules as $key_r => $rule) { foreach ($rule as $key_f => $field) { if (in_array($key_r, array('required', 'requiredLang'))) { if (!in_array($field, $step_fields[$step_number])) { unset($rules[$key_r][$key_f]); } } else { if (!in_array($key_f, $step_fields[$step_number])) { unset($rules[$key_r][$key_f]); } } } } return $rules; }