alex-kalanis /
pohoda
| 1 | <?php |
||
| 2 | |||
| 3 | /** |
||
| 4 | * This file is part of riesenia/pohoda package. |
||
| 5 | * |
||
| 6 | * Licensed under the MIT License |
||
| 7 | * (c) RIESENIA.com |
||
| 8 | */ |
||
| 9 | |||
| 10 | declare(strict_types=1); |
||
| 11 | |||
| 12 | namespace Riesenia\Pohoda\AddressBook; |
||
| 13 | |||
| 14 | use Riesenia\Pohoda\AbstractAgenda; |
||
| 15 | use Riesenia\Pohoda\Common; |
||
| 16 | use Riesenia\Pohoda\Type\Address; |
||
| 17 | |||
| 18 | class Header extends AbstractAgenda |
||
| 19 | { |
||
| 20 | use Common\AddParameterTrait; |
||
| 21 | |||
| 22 | /** @var string[] */ |
||
| 23 | protected array $refElements = [ |
||
| 24 | 'paymentType', |
||
| 25 | 'centre', |
||
| 26 | 'activity', |
||
| 27 | 'contract', |
||
| 28 | 'number', |
||
| 29 | 'accountingReceivedInvoice', |
||
| 30 | 'accountingIssuedInvoice', |
||
| 31 | 'classificationVATReceivedInvoice', |
||
| 32 | 'classificationVATIssuedInvoice', |
||
| 33 | 'classificationKVDPHReceivedInvoice', |
||
| 34 | 'classificationKVDPHIssuedInvoice', |
||
| 35 | 'accountForInvoicing', |
||
| 36 | 'foreignCurrency', |
||
| 37 | ]; |
||
| 38 | |||
| 39 | /** @var string[] */ |
||
| 40 | protected array $elements = [ |
||
| 41 | 'identity', |
||
| 42 | 'region', |
||
| 43 | 'phone', |
||
| 44 | 'mobil', |
||
| 45 | 'fax', |
||
| 46 | 'email', |
||
| 47 | 'web', |
||
| 48 | 'ICQ', |
||
| 49 | 'Skype', |
||
| 50 | 'GPS', |
||
| 51 | 'credit', |
||
| 52 | 'priceIDS', |
||
| 53 | 'maturity', |
||
| 54 | 'maturityCommitments', |
||
| 55 | 'paymentType', |
||
| 56 | 'agreement', |
||
| 57 | 'number', |
||
| 58 | 'ost1', 'ost2', |
||
| 59 | 'p1', 'p2', 'p3', 'p4', 'p5', 'p6', |
||
| 60 | 'markRecord', |
||
| 61 | 'message', |
||
| 62 | 'note', |
||
| 63 | 'intNote', |
||
| 64 | 'accountingReceivedInvoice', |
||
| 65 | 'accountingIssuedInvoice', |
||
| 66 | 'classificationVATReceivedInvoice', |
||
| 67 | 'classificationVATIssuedInvoice', |
||
| 68 | 'classificationKVDPHReceivedInvoice', |
||
| 69 | 'classificationKVDPHIssuedInvoice', |
||
| 70 | 'accountForInvoicing', |
||
| 71 | 'foreignCurrency', |
||
| 72 | 'centre', |
||
| 73 | 'activity', |
||
| 74 | 'contract', |
||
| 75 | 'adGroup', |
||
| 76 | ]; |
||
| 77 | |||
| 78 | /** |
||
| 79 | * {@inheritdoc} |
||
| 80 | */ |
||
| 81 | 6 | public function setData(array $data): parent |
|
| 82 | { |
||
| 83 | // process identity |
||
| 84 | 6 | if (isset($data['identity'])) { |
|
| 85 | 6 | $identity = new Address($this->dependenciesFactory); |
|
| 86 | 6 | $identity |
|
| 87 | 6 | ->setDirectionalVariable($this->useOneDirectionalVariables) |
|
| 88 | 6 | ->setResolveOptions($this->resolveOptions) |
|
| 89 | 6 | ->setData($data['identity']); |
|
| 90 | 6 | $data['identity'] = $identity; |
|
| 91 | } |
||
| 92 | |||
| 93 | 6 | return parent::setData($data); |
|
|
0 ignored issues
–
show
Bug
Best Practice
introduced
by
Loading history...
|
|||
| 94 | } |
||
| 95 | |||
| 96 | /** |
||
| 97 | * {@inheritdoc} |
||
| 98 | */ |
||
| 99 | 5 | public function getXML(): \SimpleXMLElement |
|
| 100 | { |
||
| 101 | 5 | $xml = $this->createXML()->addChild('adb:addressbookHeader', '', $this->namespace('adb')); |
|
| 102 | |||
| 103 | 5 | $this->addElements($xml, \array_merge($this->elements, ['parameters']), 'adb'); |
|
| 104 | |||
| 105 | 5 | return $xml; |
|
| 106 | } |
||
| 107 | |||
| 108 | /** |
||
| 109 | * {@inheritdoc} |
||
| 110 | */ |
||
| 111 | 1 | protected function configureOptions(Common\OptionsResolver $resolver): void |
|
| 112 | { |
||
| 113 | // available options |
||
| 114 | 1 | $resolver->setDefined($this->elements); |
|
| 115 | |||
| 116 | // validate / format options |
||
| 117 | 1 | $resolver->setNormalizer('region', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string32')); |
|
| 118 | 1 | $resolver->setNormalizer('phone', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string40')); |
|
| 119 | 1 | $resolver->setNormalizer('mobil', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string24')); |
|
| 120 | 1 | $resolver->setNormalizer('fax', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string24')); |
|
| 121 | 1 | $resolver->setNormalizer('email', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string98')); |
|
| 122 | 1 | $resolver->setNormalizer('web', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string32')); |
|
| 123 | 1 | $resolver->setNormalizer('ICQ', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string12')); |
|
| 124 | 1 | $resolver->setNormalizer('Skype', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string32')); |
|
| 125 | 1 | $resolver->setNormalizer('GPS', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string38')); |
|
| 126 | 1 | $resolver->setNormalizer('credit', $this->dependenciesFactory->getNormalizerFactory()->getClosure('float')); |
|
| 127 | 1 | $resolver->setNormalizer('priceIDS', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string10')); |
|
| 128 | 1 | $resolver->setNormalizer('maturity', $this->dependenciesFactory->getNormalizerFactory()->getClosure('int')); |
|
| 129 | 1 | $resolver->setNormalizer('agreement', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string12')); |
|
| 130 | 1 | $resolver->setNormalizer('ost1', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string8')); |
|
| 131 | 1 | $resolver->setNormalizer('ost2', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string8')); |
|
| 132 | 1 | $resolver->setNormalizer('p1', $this->dependenciesFactory->getNormalizerFactory()->getClosure('bool')); |
|
| 133 | 1 | $resolver->setNormalizer('p2', $this->dependenciesFactory->getNormalizerFactory()->getClosure('bool')); |
|
| 134 | 1 | $resolver->setNormalizer('p3', $this->dependenciesFactory->getNormalizerFactory()->getClosure('bool')); |
|
| 135 | 1 | $resolver->setNormalizer('p4', $this->dependenciesFactory->getNormalizerFactory()->getClosure('bool')); |
|
| 136 | 1 | $resolver->setNormalizer('p5', $this->dependenciesFactory->getNormalizerFactory()->getClosure('bool')); |
|
| 137 | 1 | $resolver->setNormalizer('p6', $this->dependenciesFactory->getNormalizerFactory()->getClosure('bool')); |
|
| 138 | 1 | $resolver->setNormalizer('markRecord', $this->dependenciesFactory->getNormalizerFactory()->getClosure('bool')); |
|
| 139 | 1 | $resolver->setNormalizer('message', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string64')); |
|
| 140 | } |
||
| 141 | } |
||
| 142 |