public static function onGetRateTypes()
 {
     $scale = array(0.5, 1, 1.5, 2, 5);
     $format = array('SUM' => function ($value, $format = null) {
         return Config::formatToBaseCurrency($value, $format);
     });
     $units = array('SUM' => Config::getBaseCurrencyUnit());
     // TODO deprecated
     return array('sale_payment' => array('NAME' => Loc::getMessage('SALE_CONVERSION_RATE_PAYMENT_NAME'), 'SCALE' => $scale, 'FORMAT' => $format, 'UNITS' => $units, 'MODULE' => 'sale', 'SORT' => 1100, 'COUNTERS' => array('conversion_visit_day', 'sale_payment_add_day', 'sale_payment_sum_add'), 'CALCULATE' => function (array $counters) {
         $denominator = $counters['conversion_visit_day'] ?: 0;
         $numerator = $counters['sale_payment_add_day'] ?: 0;
         $sum = $counters['sale_payment_sum_add'] ?: 0;
         return array('DENOMINATOR' => $denominator, 'NUMERATOR' => $numerator, 'RATE' => $denominator ? $numerator / $denominator : 0, 'SUM' => $sum);
     }), 'sale_order' => array('NAME' => Loc::getMessage('SALE_CONVERSION_RATE_ORDER_NAME'), 'SCALE' => $scale, 'FORMAT' => $format, 'UNITS' => $units, 'MODULE' => 'sale', 'SORT' => 1200, 'COUNTERS' => array('conversion_visit_day', 'sale_order_add_day', 'sale_order_sum_add'), 'CALCULATE' => function (array $counters) {
         $denominator = $counters['conversion_visit_day'] ?: 0;
         $numerator = $counters['sale_order_add_day'] ?: 0;
         $sum = $counters['sale_order_sum_add'] ?: 0;
         return array('DENOMINATOR' => $denominator, 'NUMERATOR' => $numerator, 'RATE' => $denominator ? $numerator / $denominator : 0, 'SUM' => $sum);
     }), 'sale_cart' => array('NAME' => Loc::getMessage('SALE_CONVERSION_RATE_CART_NAME'), 'SCALE' => $scale, 'FORMAT' => $format, 'UNITS' => $units, 'MODULE' => 'sale', 'SORT' => 1300, 'COUNTERS' => array('conversion_visit_day', 'sale_cart_add_day', 'sale_cart_sum_add'), 'CALCULATE' => function (array $counters) {
         $denominator = $counters['conversion_visit_day'] ?: 0;
         $numerator = $counters['sale_cart_add_day'] ?: 0;
         $sum = $counters['sale_cart_sum_add'] ?: 0;
         return array('DENOMINATOR' => $denominator, 'NUMERATOR' => $numerator, 'RATE' => $denominator ? $numerator / $denominator : 0, 'SUM' => $sum);
     }));
 }
Example #2
0
 public static function OnGetRateClasses()
 {
     $scale = array(0.5, 1, 1.5, 2, 5);
     $units = array('SUM' => Config::getBaseCurrencyUnit());
     return array('sale_payment' => array('TITLE' => Loc::getMessage('SALE_CONVERSION_RATE_PAYMENT_TITLE'), 'SCALE' => $scale, 'UNITS' => $units, 'MODULE' => 'sale', 'COUNTERS' => array('conversion_visit_day', 'sale_payment_add_day', 'sale_payment_sum_add'), 'CALCULATE' => function (array $counters) {
         $denominator = $counters['conversion_visit_day'] ?: 0;
         $numerator = $counters['sale_payment_add_day'] ?: 0;
         $sum = $counters['sale_payment_sum_add'] ?: 0;
         return array('DENOMINATOR' => $denominator, 'NUMERATOR' => $numerator, 'RATE' => $denominator ? $numerator / $denominator : 0, 'SUM' => $sum);
     }), 'sale_order' => array('TITLE' => Loc::getMessage('SALE_CONVERSION_RATE_ORDER_TITLE'), 'SCALE' => $scale, 'UNITS' => $units, 'MODULE' => 'sale', 'COUNTERS' => array('conversion_visit_day', 'sale_order_add_day', 'sale_order_sum_add'), 'CALCULATE' => function (array $counters) {
         $denominator = $counters['conversion_visit_day'] ?: 0;
         $numerator = $counters['sale_order_add_day'] ?: 0;
         $sum = $counters['sale_order_sum_add'] ?: 0;
         return array('DENOMINATOR' => $denominator, 'NUMERATOR' => $numerator, 'RATE' => $denominator ? $numerator / $denominator : 0, 'SUM' => $sum);
     }), 'sale_cart' => array('TITLE' => Loc::getMessage('SALE_CONVERSION_RATE_CART_TITLE'), 'SCALE' => $scale, 'UNITS' => $units, 'MODULE' => 'sale', 'COUNTERS' => array('conversion_visit_day', 'sale_cart_add_day', 'sale_cart_sum_add'), 'CALCULATE' => function (array $counters) {
         $denominator = $counters['conversion_visit_day'] ?: 0;
         $numerator = $counters['sale_cart_add_day'] ?: 0;
         $sum = $counters['sale_cart_sum_add'] ?: 0;
         return array('DENOMINATOR' => $denominator, 'NUMERATOR' => $numerator, 'RATE' => $denominator ? $numerator / $denominator : 0, 'SUM' => $sum);
     }));
 }