getApiloCarrierAccountId($transport_method_id); } public static function transport_methods( $basket, $coupon ) { global $mdb, $settings; $cacheHandler = new \CacheHandler(); $cacheKey = "\front\factory\ShopTransport::transport_methods"; $objectData = $cacheHandler -> get( $cacheKey ); if ( !$objectData ) { $repo = new \Domain\Transport\TransportRepository($mdb); $transports_tmp = $repo->allActive(); $cacheHandler -> set( $cacheKey, $transports_tmp ); } else { $transports_tmp = unserialize( $objectData ); } $wp_summary = \front\factory\ShopBasket::summary_wp( $basket ); foreach ( $transports_tmp as $tr ) { if ( $tr['max_wp'] == null ) $transports[] = $tr; elseif ( $tr['max_wp'] != null and $wp_summary <= $tr['max_wp'] ) $transports[] = $tr; } if ( \S::normalize_decimal( \front\factory\ShopBasket::summary_price( $basket, $coupon ) ) >= \S::normalize_decimal( $settings['free_delivery'] ) ) { for ( $i = 0; $i < count( $transports ); $i++ ){ if($transports[ $i ]['delivery_free'] == 1) { $transports[ $i ]['cost'] = 0.00; } } } return $transports; } public static function transport_cost( $transport_id ) { global $mdb; if ( !$cost = \Cache::fetch( 'transport_cost_' . $transport_id ) ) { $repo = new \Domain\Transport\TransportRepository($mdb); $cost = $repo->getTransportCost($transport_id); \Cache::store( 'transport_cost_' . $transport_id, $cost ); } return $cost; } public static function transport( $transport_id ) { global $mdb; if ( !$transport = \Cache::fetch( 'transport' . $transport_id ) ) { $repo = new \Domain\Transport\TransportRepository($mdb); $transport = $repo->findActiveById($transport_id); \Cache::store( 'transport' . $transport_id, $transport ); } return $transport; } }