function onOrderCreated($order_id) { $email = modApiFunc('Checkout', 'getCustomerAttributeValue', $order_id, 'billinginfo', 'default', 'Email'); if (!modApiFunc('Users', 'isValidEmail', $email)) { return; } Subscriptions::setCustomerSubscribedEmail($email); $mode = modApiFunc('Settings', 'getParamValue', 'SUBSCRIPTIONS', 'CHECKOUT_SUBSCRIBE_MODE'); if ($mode == 'AUTO') { $signed_id = modApiFunc('Customer_Account', 'getCurrentSignedCustomer') !== null; $access = array(SUBSCRIPTION_TOPIC_FULL_ACCESS, $signed_id ? SUBSCRIPTION_TOPIC_REGISTERED_ONLY : SUBSCRIPTION_TOPIC_GUEST_ONLY); $topics_ids = execQuery('SUBSCR_GET_AUTO_SUBSCRIBE_TOPICS', array('access' => $access)); if (!empty($topics_ids)) { foreach (array_keys($topics_ids) as $i) { $topics_ids[$i] = $topics_ids[$i]['topic_id']; } Subscriptions::subscribeEmails($topics_ids, $email); } } elseif ($mode == 'MANUAL') { $prerequisiteValidationResults = modApiFunc('Checkout', 'getPrerequisiteValidationResults', 'subscriptionTopics'); $ids = @$prerequisiteValidationResults['validatedData']['Topics']['value']; $topics_ids = empty($ids) ? array() : explode(',', $ids); if (!empty($topics_ids)) { Subscriptions::subscribeEmails($topics_ids, $email); } } $order = execQuery('SELECT_BASE_ORDER_INFO', array('order_id' => $order_id)); if (!empty($order)) { $params = array('customer_id' => $order[0]['person_id'], 'email' => $email); execQuery('SUBSCR_LINK_SUBSCRIPTION_TO_CUSTOMER', $params); } }