function initSinglePrerequisiteValidationResults($variant_view_tag, $variant_tag, $variant_type_id, $variant_visible_name) { global $application; loadCoreFile('UUIDUtils.php'); //Cut the suffix. CCInfo prerequisites. // : may be to pass in PersonInfoVariantID to getValidatedDataStructure, not the tag. $variant_view_tag_for_data_structure = UUIDUtils::cut_uuid_suffix($variant_view_tag, "js"); /** * Call either before the construcor finishes its work, * or satatically. * Work on the sesson only. */ //Check, if data is already in the session: if (isset($this->PrerequisitesValidationResults)) { $PrerequisitesValidationResults = $this->PrerequisitesValidationResults; // changing the visible name for checkout form fields // usage: customer changes the language on the checkout /* if (is_array($PrerequisitesValidationResults)) foreach($PrerequisitesValidationResults as $k => $v) if (isset($v['validatedData']) && is_array($v['validatedData'])) foreach($v['validatedData'] as $kk => $vv) { $new_data = execQuery('SELECT_VALIDATED_DATA_VISIBLE_LABELS', array('vid' => @$v['id'], 'aid' => @$vv['id'])); if ($new_data) { if (isset($vv['attribute_visible_name'])) $PrerequisitesValidationResults[$k]['validatedData'][$kk]['attribute_visible_name'] = $new_data[0]['attribute_visible_name']; if (isset($vv['attribute_description'])) $PrerequisitesValidationResults[$k]['validatedData'][$kk]['attribute_description'] = $new_data[0]['attribute_description']; } } */ if (is_array($this->PrerequisitesValidationResults)) { $labels = $this->getValidatedDataVisibleLabels(); foreach ($this->PrerequisitesValidationResults as $k => $v) { if (isset($v['validatedData']) && is_array($v['validatedData'])) { foreach ($v['validatedData'] as $kk => $vv) { if (@$labels[$v['id']][$vv['id']]) { if (isset($vv['attribute_visible_name'])) { $this->PrerequisitesValidationResults[$k]['validatedData'][$kk]['attribute_visible_name'] = @$labels[$v['id']][$vv['id']]['attribute_visible_name']; } if (isset($vv['attribute_description'])) { $this->PrerequisitesValidationResults[$k]['validatedData'][$kk]['attribute_description'] = @$labels[$v['id']][$vv['id']]['attribute_description']; } } } } } } } else { //Initialize from the beginning. $PrerequisitesValidationResults = array(); } $PrerequisitesValidationResults[$variant_view_tag] = array('variant_tag' => $variant_tag, 'isMet' => false, 'id' => $variant_type_id, 'visibleName' => $variant_visible_name, 'error_code' => '', 'error_message_parameters' => '', 'validatedData' => $this->getValidatedDataStructure($variant_view_tag_for_data_structure)); // shipping_method, , . . // , . // CheckoutFormEditor - . if ($variant_view_tag == "shippingModuleAndMethod") { $b_is_shipping_method_required = Checkout::isPrerequisiteRequired("shippingModuleAndMethod"); if ($b_is_shipping_method_required === false || Checkout::arePersonInfoTypesActive(array("shippingModuleAndMethod")) === false) { // shipping method: AllInactive $PrerequisitesValidationResults[$variant_view_tag]['isMet'] = true; $PrerequisitesValidationResults[$variant_view_tag]['validatedData']['method_code']['value'] = Checkout::getAllInactiveModuleId("shipping") . "_" . modApiFunc(Checkout::getAllInactiveModuleClassAPIName("shipping"), "getSingleAvailableMethodId"); } } // payment_method, , . . // , . // CheckoutFormEditor - . if ($variant_view_tag == "paymentModule") { $b_is_payment_method_required = Checkout::isPrerequisiteRequired("paymentModule"); if ($b_is_payment_method_required === false || Checkout::arePersonInfoTypesActive(array("paymentModule")) === false) { // payment method: AllInactive $PrerequisitesValidationResults[$variant_view_tag]['isMet'] = true; $PrerequisitesValidationResults[$variant_view_tag]['validatedData']['method_code']['value'] = Checkout::getAllInactiveModuleId("payment"); } } if ($variant_view_tag == 'subscriptionTopics') { $b_is_subscription_required = Checkout::isPrerequisiteRequired("subscriptionTopics"); if ($b_is_subscription_required === false || Checkout::arePersonInfoTypesActive(array("subscriptionTopics")) === false) { $PrerequisitesValidationResults[$variant_view_tag]['isMet'] = true; $PrerequisitesValidationResults[$variant_view_tag]['validatedData']['Topics']['value'] = ''; } } $this->PrerequisitesValidationResults = $PrerequisitesValidationResults; //modApiFunc('Session', 'set', 'PrerequisitesValidationResults', $PrerequisitesValidationResults); }