1 <?php
2 3 4
5 namespace Team3\PayU\Order\Transformer\UserOrder\Strategy;
6
7 use Team3\PayU\Order\Model\OrderInterface;
8 use Team3\PayU\Order\Transformer\UserOrder\TransformerProperties;
9 use Team3\PayU\Order\Transformer\UserOrder\TransformerPropertiesRegExp;
10 use Team3\PayU\PropertyExtractor\ExtractorResult;
11
12 class UrlsTransformer implements UserOrderTransformerStrategyInterface
13 {
14 15 16
17 public function transform(
18 OrderInterface $order,
19 ExtractorResult $extractorResult
20 ) {
21 $this->copyValue(
22 $order,
23 $extractorResult
24 );
25 }
26
27 28 29
30 public function supports($propertyName)
31 {
32 return 1 === preg_match(
33 TransformerPropertiesRegExp::URL_REGEXP,
34 $propertyName
35 );
36 }
37
38 39 40 41
42 private function copyValue(
43 OrderInterface $order,
44 ExtractorResult $extractorResult
45 ) {
46 switch ($extractorResult->getPropertyName()) {
47 case TransformerProperties::URLS_NOTIFY:
48 $order->setNotifyUrl($extractorResult->getValue());
49 break;
50 case TransformerProperties::URLS_CONTINUE:
51 $order->setContinueUrl($extractorResult->getValue());
52 break;
53 case TransformerProperties::URLS_ORDER:
54 $order->setOrderUrl($extractorResult->getValue());
55 break;
56 default:
57 }
58 }
59 }
60