Адаптация существующих модулей и тем под CS-Cart 4.10.4

Изменения ядра

Удалённые функции

  1. Tygh\Addons\StripeConnect\Payments\StripeConnect::setDb
  2. Tygh\Addons\StripeConnect\Payments\StripeConnect::setAddonsSettings
  3. Tygh\Addons\StripeConnect\Payments\StripeConnect::setFormatter

Изменённые функции

  1. // Было:
    Tygh\Addons\StripeConnect\Payments\StripeConnect::__construct($payment_id, $processor_data = null)
    
    // Стало:
    Tygh\Addons\StripeConnect\Payments\StripeConnect::__construct($payment_id, Connection $db, PriceFormatter $price_formatter, array $addon_settings, $processor_params = null)
    
  2. // Было:
    fn_vendor_categories_fee_calculate_payout($order_total, $payout_data, $products, $main_categories_fee, $parent_categories_fee, $payouts_history)
    
    // Стало:
    fn_vendor_categories_fee_calculate_payout($order_total, $payout_data, $products, $main_categories_fee, $parent_categories_fee, $payouts_history, Formatter $formatter = null)
    
  3. // Было:
    fn_vendor_categories_fee_get_included_product_taxes_based_on_subtotal($subtotals, $taxes)
    
    // Стало:
    fn_vendor_categories_fee_get_included_product_taxes_based_on_subtotal($subtotals, $taxes, Formatter $formatter = null)
    

Новые функции

  1. Отправляет СМС покупателю, когда меняется статус отгрузки:

    fn_rus_unisender_send_sms_shipment($text_sms, $phone, $order_id = 0, $status_to = '')
    
  2. Обрабатывает отправку СМС:

    fn_rus_unisender_dispatch_sms($post, $company_id, $phone)
    
  3. Получает характеристику “Бренд” из данных текущего товара:

    fn_seo_extract_feature_brand($product_features)
    
  4. Форматирует сумму в соответствии с настройками главной валюты:

    fn_vendor_categories_fee_format_amount($amount, Formatter $formatter = null)
    
  5. Получает информацию для подтверждения намерения оплаты:

    \Tygh\Addons\Stripe\Payments\StripeConnect::getPaymentConfirmationDetails($payment_intent_payment_method_id, $total)
    
  6. Получает информацию для подтверждения намерения оплаты:

    \Tygh\Addons\StripeConnect\Payments\StripeConnect::getPaymentConfirmationDetails($payment_intent_payment_method_id, $total)
    
  7. Обновляет примечания администратора у заказа:

    fn_update_order_staff_only_notes($order_id, $text = '')
    

Устаревшие функции

fn_payment_url($protocol, $processor_script) — используйте контроллер payment_notification в своих способах оплаты.

Удалённые классы

  1. \Tygh\Addons\Stripe\PaymentSources\SourceInterface
  2. \Tygh\Addons\Stripe\PaymentSources\Token
  3. \Tygh\Payments\Addons\StripeConnect\PaymentSources\SourceInterface
  4. \Tygh\Payments\Addons\StripeConnect\PaymentSources\Token
  5. \Tygh\Payments\Addons\StripeConnect\PaymentSources\Customer

Изменённые классы

  1. // Было:
    \Tygh\Payments\Addons\StripeConnect\StripeConnect
    
    // Стало:
    \Tygh\Addons\StripeConnect\Payments\StripeConnect
    
  2. // Было:
    \Tygh\Addons\StripeConnect\Providers\OAuthHelperProvider
    
    // Стало:
    \Tygh\Addons\StripeConnect\ServiceProvider
    

Новые классы

  1. \Tygh\Addons\StripeConnect\PriceFormatter — форматирует цены для платежей через Stripe Connect.
  2. \Tygh\Enum\Addons\Rma\ReturnOperationStatuses — перечисляет статусы операции возврата в модуле “Возврат товаров” (RMA).
  3. \Tygh\Enum\Addons\Rma\RecalculateOperations — перечисляет операции перерасчёта в модуле “Возврат товаров” (RMA).
  4. \Tygh\Enum\Addons\Rma\InventoryOperations — перечисляет операции с количеством товаров в модуле “Возврат товаров” (RMA).

Изменения в хуках

Изменённые хуки

  1. // Было:
    fn_set_hook('update_payment_pre', $payment_data, $payment_id, $lang_code, $certificate_file, $certificates_dir);
    
    // Стало:
    fn_set_hook('update_payment_pre', $payment_data, $payment_id, $lang_code, $certificate_file, $certificates_dir, $can_purge_processor_params);
    
  2. // Было:
    fn_set_hook('calculate_cart_content_before_shipping_calculation', $cart, $auth, $calculate_shipping, $calculate_taxes, $options_style, $apply_cart_promotions);
    
    // Стало:
    fn_set_hook('calculate_cart_content_before_shipping_calculation', $cart, $auth, $calculate_shipping, $calculate_taxes, $options_style, $apply_cart_promotions, $shipping_cache_tables, $shipping_cache_key);
    

Новые хуки

  1. Хук выполняется после того, как задано местоположение покупателя. Позволяет изменить местоположение:

    fn_set_hook('rus_cities_geo_maps_set_customer_location_pre_post', $location, $cities);
    
  2. Хук выполняется после автоматического определения индекса покупателя. Позволяет изменить индекс, который определился:

    fn_set_hook('rus_cities_location_manager_detect_zipcode_post_post', $country_code, $state_code, $city, $zipcode);
    
  3. Хук выполняется перед инициализацией Last View. Позволяет модифицировать параметры запроса:

    fn_set_hook('last_view_init_pre', $last_view, $params);
    
  4. Хук выполняется перед расчётом количества товаров продавца. Позволяет модифицировать условия выборки:

    fn_set_hook('vendor_plans_companies_get_products_count_pre', $instance, $conditions)
    
  5. Хук выполняется после импорта данных о категориях товара в БД. Позволяет изменять категории, связанные с товаром, и тип их связи (главная или дополнительная категория):

    fn_set_hook('exim_set_product_categories_post', $data, $company_id)
    

Устаревшие хуки

  1. Устаревший хук:

    fn_set_hook('payment_url', $protocol, $processor_script, $url, $payment_dir);
    

    Рекомендация: используйте контроллер payment_notification в ваших способах оплаты.

  2. Устаревший хук:

    fn_set_hook('plans_companies_get_list_post', $this, $items, $params);
    

    Рекомендация: используйте другой хук:

    fn_set_hook('vendor_plans_company_gather_additional_items_data_post', $this, $items, $params);
    
  3. Устаревший хук:

    fn_set_hook('plans_companies_get_list_post', $this, $payout_id, $price, $time);
    

    Рекомендация: используйте другой хук:

    fn_set_hook('vendor_plans_company_payment', $this, $time, $payout_id, $price);
    
  4. Устаревший хук:

    fn_set_hook('plans_companies_get_list_post', $this, $products_count);
    

    Рекомендация: используйте другой хук:

    fn_set_hook('vendor_plans_company_get_current_products_count_post', $this, $products_count);
    
  5. Устаревший хук:

    fn_set_hook('plans_companies_get_list_post', $this, $notify, $can);
    

    Рекомендация: используйте другой хук:

    fn_set_hook('vendor_plans_company_can_add_product', $this, $notify, $can);
    
  6. Устаревший хук:

    fn_set_hook('plans_companies_get_list_post', $this, $revenue, $today, $time_from, $time_to, $statuses);
    

    Рекомендация: используйте другой хук:

    fn_set_hook('vendor_plans_company_get_current_revenue_post', $this, $revenue, $today, $time_from, $time_to, $statuses);
    
  7. Устаревший хук:

    fn_set_hook('plans_companies_get_list_post', $this, $notify, $can);
    

    Рекомендация: используйте другой хук:

    fn_set_hook('vendor_plans_company_can_get_revenue', $this, $notify, $can);