@@ -27,8 +27,8 @@ discard block |
||
27 | 27 | * @param array $mapping Associative list of field position in CSV as key and domain item key as value |
28 | 28 | * @param \Aimeos\Controller\Common\Product\Import\Csv\Processor\Iface $processor Decorated processor |
29 | 29 | */ |
30 | - public function __construct( \Aimeos\MShop\Context\Item\Iface $context, array $mapping, |
|
31 | - \Aimeos\Controller\Common\Product\Import\Csv\Processor\Iface $processor = null ) |
|
30 | + public function __construct(\Aimeos\MShop\Context\Item\Iface $context, array $mapping, |
|
31 | + \Aimeos\Controller\Common\Product\Import\Csv\Processor\Iface $processor = null) |
|
32 | 32 | { |
33 | 33 | } |
34 | 34 | |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | * @param array $data List of CSV fields with position as key and data as value |
41 | 41 | * @return array List of data which hasn't been imported |
42 | 42 | */ |
43 | - public function process( \Aimeos\MShop\Product\Item\Iface $item, array $data ) |
|
43 | + public function process(\Aimeos\MShop\Product\Item\Iface $item, array $data) |
|
44 | 44 | { |
45 | 45 | return $data; |
46 | 46 | } |
@@ -30,14 +30,14 @@ discard block |
||
30 | 30 | * @param array $data Associative list of product codes and lists of CSV field indexes and their data |
31 | 31 | * @return array Associative list of CSV field indexes and their converted data |
32 | 32 | */ |
33 | - protected function convertData( array $convlist, array $data ) |
|
33 | + protected function convertData(array $convlist, array $data) |
|
34 | 34 | { |
35 | - foreach( $convlist as $idx => $converter ) |
|
35 | + foreach ($convlist as $idx => $converter) |
|
36 | 36 | { |
37 | - foreach( $data as $code => $list ) |
|
37 | + foreach ($data as $code => $list) |
|
38 | 38 | { |
39 | - if( isset( $list[$idx] ) ) { |
|
40 | - $data[$code][$idx] = $converter->translate( $list[$idx] ); |
|
39 | + if (isset($list[$idx])) { |
|
40 | + $data[$code][$idx] = $converter->translate($list[$idx]); |
|
41 | 41 | } |
42 | 42 | } |
43 | 43 | } |
@@ -53,36 +53,36 @@ discard block |
||
53 | 53 | * @param string|null Name of the cache implementation |
54 | 54 | * @return \Aimeos\Controller\Common\Product\Import\Csv\Cache\Iface Cache object |
55 | 55 | */ |
56 | - protected function getCache( $type, $name = null ) |
|
56 | + protected function getCache($type, $name = null) |
|
57 | 57 | { |
58 | 58 | $context = $this->getContext(); |
59 | 59 | $config = $context->getConfig(); |
60 | 60 | |
61 | - if( ctype_alnum( $type ) === false ) |
|
61 | + if (ctype_alnum($type) === false) |
|
62 | 62 | { |
63 | 63 | $classname = is_string($name) ? '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Cache\\' . $type : '<not a string>'; |
64 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
64 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
65 | 65 | } |
66 | 66 | |
67 | - if( $name === null ) { |
|
68 | - $name = $config->get( 'controller/common/product/import/csv/cache/' . $type . '/name', 'Standard' ); |
|
67 | + if ($name === null) { |
|
68 | + $name = $config->get('controller/common/product/import/csv/cache/' . $type . '/name', 'Standard'); |
|
69 | 69 | } |
70 | 70 | |
71 | - if( ctype_alnum( $name ) === false ) |
|
71 | + if (ctype_alnum($name) === false) |
|
72 | 72 | { |
73 | 73 | $classname = is_string($name) ? '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Cache\\' . $type . '\\' . $name : '<not a string>'; |
74 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
74 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
75 | 75 | } |
76 | 76 | |
77 | - $classname = '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Cache\\' . ucfirst( $type ) . '\\' . $name; |
|
77 | + $classname = '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Cache\\' . ucfirst($type) . '\\' . $name; |
|
78 | 78 | |
79 | - if( class_exists( $classname ) === false ) { |
|
80 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Class "%1$s" not found', $classname ) ); |
|
79 | + if (class_exists($classname) === false) { |
|
80 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Class "%1$s" not found', $classname)); |
|
81 | 81 | } |
82 | 82 | |
83 | - $object = new $classname( $context ); |
|
83 | + $object = new $classname($context); |
|
84 | 84 | |
85 | - \Aimeos\MW\Common\Base::checkClass( '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Cache\\Iface', $object ); |
|
85 | + \Aimeos\MW\Common\Base::checkClass('\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Cache\\Iface', $object); |
|
86 | 86 | |
87 | 87 | return $object; |
88 | 88 | } |
@@ -94,12 +94,12 @@ discard block |
||
94 | 94 | * @param array $convmap List of converter names for the values at the position in the CSV file |
95 | 95 | * @return array Associative list of positions and converter objects |
96 | 96 | */ |
97 | - protected function getConverterList( array $convmap ) |
|
97 | + protected function getConverterList(array $convmap) |
|
98 | 98 | { |
99 | 99 | $convlist = []; |
100 | 100 | |
101 | - foreach( $convmap as $idx => $name ) { |
|
102 | - $convlist[$idx] = \Aimeos\MW\Convert\Factory::createConverter( $name ); |
|
101 | + foreach ($convmap as $idx => $name) { |
|
102 | + $convlist[$idx] = \Aimeos\MW\Convert\Factory::createConverter($name); |
|
103 | 103 | } |
104 | 104 | |
105 | 105 | return $convlist; |
@@ -114,15 +114,15 @@ discard block |
||
114 | 114 | * @param integer $codePos Column position which contains the unique product code (starting from 0) |
115 | 115 | * @return array List of arrays with product codes as keys and list of values from the CSV file |
116 | 116 | */ |
117 | - protected function getData( \Aimeos\MW\Container\Content\Iface $content, $maxcnt, $codePos ) |
|
117 | + protected function getData(\Aimeos\MW\Container\Content\Iface $content, $maxcnt, $codePos) |
|
118 | 118 | { |
119 | 119 | $count = 0; |
120 | 120 | $data = []; |
121 | 121 | |
122 | - while( $content->valid() && $count++ < $maxcnt ) |
|
122 | + while ($content->valid() && $count++ < $maxcnt) |
|
123 | 123 | { |
124 | 124 | $row = $content->current(); |
125 | - $data[ $row[$codePos] ] = $row; |
|
125 | + $data[$row[$codePos]] = $row; |
|
126 | 126 | $content->next(); |
127 | 127 | } |
128 | 128 | |
@@ -221,21 +221,21 @@ discard block |
||
221 | 221 | * @param array $mapping List of domain item keys with the CSV field position as key |
222 | 222 | * @return array List of associative arrays containing the chunked properties |
223 | 223 | */ |
224 | - protected function getMappedChunk( array &$data, array $mapping ) |
|
224 | + protected function getMappedChunk(array &$data, array $mapping) |
|
225 | 225 | { |
226 | 226 | $idx = 0; |
227 | 227 | $map = []; |
228 | 228 | |
229 | - foreach( $mapping as $pos => $key ) |
|
229 | + foreach ($mapping as $pos => $key) |
|
230 | 230 | { |
231 | - if( isset( $map[$idx][$key] ) ) { |
|
231 | + if (isset($map[$idx][$key])) { |
|
232 | 232 | $idx++; |
233 | 233 | } |
234 | 234 | |
235 | - if( isset( $data[$pos] ) ) |
|
235 | + if (isset($data[$pos])) |
|
236 | 236 | { |
237 | 237 | $map[$idx][$key] = $data[$pos]; |
238 | - unset( $data[$pos] ); |
|
238 | + unset($data[$pos]); |
|
239 | 239 | } |
240 | 240 | } |
241 | 241 | |
@@ -249,37 +249,37 @@ discard block |
||
249 | 249 | * @param array $mappings Associative list of processor types as keys and index/data mappings as values |
250 | 250 | * @return \Aimeos\Controller\Common\Product\Import\Csv\Processor\Iface Processor object |
251 | 251 | */ |
252 | - protected function getProcessors( array $mappings ) |
|
252 | + protected function getProcessors(array $mappings) |
|
253 | 253 | { |
254 | 254 | $context = $this->getContext(); |
255 | 255 | $config = $context->getConfig(); |
256 | - $object = new \Aimeos\Controller\Common\Product\Import\Csv\Processor\Done( $context, [] ); |
|
256 | + $object = new \Aimeos\Controller\Common\Product\Import\Csv\Processor\Done($context, []); |
|
257 | 257 | |
258 | - foreach( $mappings as $type => $mapping ) |
|
258 | + foreach ($mappings as $type => $mapping) |
|
259 | 259 | { |
260 | - if( ctype_alnum( $type ) === false ) |
|
260 | + if (ctype_alnum($type) === false) |
|
261 | 261 | { |
262 | 262 | $classname = is_string($type) ? '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Processor\\' . $type : '<not a string>'; |
263 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
263 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
264 | 264 | } |
265 | 265 | |
266 | - $name = $config->get( 'controller/common/product/import/csv/processor/' . $type . '/name', 'Standard' ); |
|
266 | + $name = $config->get('controller/common/product/import/csv/processor/' . $type . '/name', 'Standard'); |
|
267 | 267 | |
268 | - if( ctype_alnum( $name ) === false ) |
|
268 | + if (ctype_alnum($name) === false) |
|
269 | 269 | { |
270 | 270 | $classname = is_string($name) ? '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Processor\\' . $type . '\\' . $name : '<not a string>'; |
271 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
271 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
272 | 272 | } |
273 | 273 | |
274 | - $classname = '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Processor\\' . ucfirst( $type ) . '\\' . $name; |
|
274 | + $classname = '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Processor\\' . ucfirst($type) . '\\' . $name; |
|
275 | 275 | |
276 | - if( class_exists( $classname ) === false ) { |
|
277 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Class "%1$s" not found', $classname ) ); |
|
276 | + if (class_exists($classname) === false) { |
|
277 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Class "%1$s" not found', $classname)); |
|
278 | 278 | } |
279 | 279 | |
280 | - $object = new $classname( $context, $mapping, $object ); |
|
280 | + $object = new $classname($context, $mapping, $object); |
|
281 | 281 | |
282 | - \Aimeos\MW\Common\Base::checkClass( '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Processor\\Iface', $object ); |
|
282 | + \Aimeos\MW\Common\Base::checkClass('\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Processor\\Iface', $object); |
|
283 | 283 | } |
284 | 284 | |
285 | 285 | return $object; |
@@ -293,17 +293,17 @@ discard block |
||
293 | 293 | * @param array $domains List of domains whose items should be fetched too |
294 | 294 | * @return array Associative list of product codes as key and product items as value |
295 | 295 | */ |
296 | - protected function getProducts( array $codes, array $domains ) |
|
296 | + protected function getProducts(array $codes, array $domains) |
|
297 | 297 | { |
298 | 298 | $result = []; |
299 | - $manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product' ); |
|
299 | + $manager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product'); |
|
300 | 300 | |
301 | 301 | $search = $manager->createSearch(); |
302 | - $search->setConditions( $search->compare( '==', 'product.code', $codes ) ); |
|
303 | - $search->setSlice( 0, count( $codes ) ); |
|
302 | + $search->setConditions($search->compare('==', 'product.code', $codes)); |
|
303 | + $search->setSlice(0, count($codes)); |
|
304 | 304 | |
305 | - foreach( $manager->searchItems( $search, $domains ) as $item ) { |
|
306 | - $result[ $item->getCode() ] = $item; |
|
305 | + foreach ($manager->searchItems($search, $domains) as $item) { |
|
306 | + $result[$item->getCode()] = $item; |
|
307 | 307 | } |
308 | 308 | |
309 | 309 | return $result; |
@@ -318,23 +318,23 @@ discard block |
||
318 | 318 | * @param string $code Unique code of the type item |
319 | 319 | * @return string Unique ID of the type item |
320 | 320 | */ |
321 | - protected function getTypeId( $path, $domain, $code ) |
|
321 | + protected function getTypeId($path, $domain, $code) |
|
322 | 322 | { |
323 | - if( !isset( self::$types[$path][$domain] ) ) |
|
323 | + if (!isset(self::$types[$path][$domain])) |
|
324 | 324 | { |
325 | - $manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), $path ); |
|
326 | - $key = str_replace( '/', '.', $path ); |
|
325 | + $manager = \Aimeos\MShop\Factory::createManager($this->getContext(), $path); |
|
326 | + $key = str_replace('/', '.', $path); |
|
327 | 327 | |
328 | 328 | $search = $manager->createSearch(); |
329 | - $search->setConditions( $search->compare( '==', $key . '.domain', $domain ) ); |
|
329 | + $search->setConditions($search->compare('==', $key . '.domain', $domain)); |
|
330 | 330 | |
331 | - foreach( $manager->searchItems( $search ) as $id => $item ) { |
|
332 | - self::$types[$path][$domain][ $item->getCode() ] = $id; |
|
331 | + foreach ($manager->searchItems($search) as $id => $item) { |
|
332 | + self::$types[$path][$domain][$item->getCode()] = $id; |
|
333 | 333 | } |
334 | 334 | } |
335 | 335 | |
336 | - if( !isset( self::$types[$path][$domain][$code] ) ) { |
|
337 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'No type item for "%1$s/%2$s" in "%3$s" found', $domain, $code, $path ) ); |
|
336 | + if (!isset(self::$types[$path][$domain][$code])) { |
|
337 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('No type item for "%1$s/%2$s" in "%3$s" found', $domain, $code, $path)); |
|
338 | 338 | } |
339 | 339 | |
340 | 340 | return self::$types[$path][$domain][$code]; |
@@ -26,17 +26,17 @@ discard block |
||
26 | 26 | * @param array $codes List of coupon codes |
27 | 27 | * @return array Associative list of coupon codes as key and coupon code items as value |
28 | 28 | */ |
29 | - protected function getCouponCodeItems( array $codes ) |
|
29 | + protected function getCouponCodeItems(array $codes) |
|
30 | 30 | { |
31 | 31 | $result = []; |
32 | - $manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'coupon/code' ); |
|
32 | + $manager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'coupon/code'); |
|
33 | 33 | |
34 | 34 | $search = $manager->createSearch(); |
35 | - $search->setConditions( $search->compare( '==', 'coupon.code.code', $codes ) ); |
|
36 | - $search->setSlice( 0, count( $codes ) ); |
|
35 | + $search->setConditions($search->compare('==', 'coupon.code.code', $codes)); |
|
36 | + $search->setSlice(0, count($codes)); |
|
37 | 37 | |
38 | - foreach( $manager->searchItems( $search ) as $item ) { |
|
39 | - $result[ $item->getCode() ] = $item; |
|
38 | + foreach ($manager->searchItems($search) as $item) { |
|
39 | + $result[$item->getCode()] = $item; |
|
40 | 40 | } |
41 | 41 | |
42 | 42 | return $result; |
@@ -51,15 +51,15 @@ discard block |
||
51 | 51 | * @param integer $codePos Column position which contains the unique coupon code (starting from 0) |
52 | 52 | * @return array List of arrays with coupon codes as keys and list of values from the CSV file |
53 | 53 | */ |
54 | - protected function getData( \Aimeos\MW\Container\Content\Iface $content, $maxcnt, $codePos ) |
|
54 | + protected function getData(\Aimeos\MW\Container\Content\Iface $content, $maxcnt, $codePos) |
|
55 | 55 | { |
56 | 56 | $count = 0; |
57 | 57 | $data = []; |
58 | 58 | |
59 | - while( $content->valid() && $count++ < $maxcnt ) |
|
59 | + while ($content->valid() && $count++ < $maxcnt) |
|
60 | 60 | { |
61 | 61 | $row = $content->current(); |
62 | - $data[ $row[$codePos] ] = $row; |
|
62 | + $data[$row[$codePos]] = $row; |
|
63 | 63 | $content->next(); |
64 | 64 | } |
65 | 65 | |
@@ -98,21 +98,21 @@ discard block |
||
98 | 98 | * @param array $mapping List of domain item keys with the CSV field position as key |
99 | 99 | * @return array List of associative arrays containing the chunked properties |
100 | 100 | */ |
101 | - protected function getMappedChunk( array &$data, array $mapping ) |
|
101 | + protected function getMappedChunk(array &$data, array $mapping) |
|
102 | 102 | { |
103 | 103 | $idx = 0; |
104 | 104 | $map = []; |
105 | 105 | |
106 | - foreach( $mapping as $pos => $key ) |
|
106 | + foreach ($mapping as $pos => $key) |
|
107 | 107 | { |
108 | - if( isset( $map[$idx][$key] ) ) { |
|
108 | + if (isset($map[$idx][$key])) { |
|
109 | 109 | $idx++; |
110 | 110 | } |
111 | 111 | |
112 | - if( isset( $data[$pos] ) ) |
|
112 | + if (isset($data[$pos])) |
|
113 | 113 | { |
114 | 114 | $map[$idx][$key] = $data[$pos]; |
115 | - unset( $data[$pos] ); |
|
115 | + unset($data[$pos]); |
|
116 | 116 | } |
117 | 117 | } |
118 | 118 | |
@@ -126,37 +126,37 @@ discard block |
||
126 | 126 | * @param array $mappings Associative list of processor types as keys and index/data mappings as values |
127 | 127 | * @return \Aimeos\Controller\Common\Coupon\Import\Csv\Processor\Iface Processor object |
128 | 128 | */ |
129 | - protected function getProcessors( array $mappings ) |
|
129 | + protected function getProcessors(array $mappings) |
|
130 | 130 | { |
131 | 131 | $context = $this->getContext(); |
132 | 132 | $config = $context->getConfig(); |
133 | - $object = new \Aimeos\Controller\Common\Coupon\Import\Csv\Processor\Done( $context, [] ); |
|
133 | + $object = new \Aimeos\Controller\Common\Coupon\Import\Csv\Processor\Done($context, []); |
|
134 | 134 | |
135 | - foreach( $mappings as $type => $mapping ) |
|
135 | + foreach ($mappings as $type => $mapping) |
|
136 | 136 | { |
137 | - if( ctype_alnum( $type ) === false ) |
|
137 | + if (ctype_alnum($type) === false) |
|
138 | 138 | { |
139 | 139 | $classname = is_string($type) ? '\\Aimeos\\Controller\\Common\\Coupon\\Import\\Csv\\Processor\\' . $type : '<not a string>'; |
140 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
140 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
141 | 141 | } |
142 | 142 | |
143 | - $name = $config->get( 'controller/common/coupon/import/csv/processor/' . $type . '/name', 'Standard' ); |
|
143 | + $name = $config->get('controller/common/coupon/import/csv/processor/' . $type . '/name', 'Standard'); |
|
144 | 144 | |
145 | - if( ctype_alnum( $name ) === false ) |
|
145 | + if (ctype_alnum($name) === false) |
|
146 | 146 | { |
147 | 147 | $classname = is_string($name) ? '\\Aimeos\\Controller\\Common\\Coupon\\Import\\Csv\\Processor\\' . $type . '\\' . $name : '<not a string>'; |
148 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
148 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
149 | 149 | } |
150 | 150 | |
151 | - $classname = '\\Aimeos\\Controller\\Common\\Coupon\\Import\\Csv\\Processor\\' . ucfirst( $type ) . '\\' . $name; |
|
151 | + $classname = '\\Aimeos\\Controller\\Common\\Coupon\\Import\\Csv\\Processor\\' . ucfirst($type) . '\\' . $name; |
|
152 | 152 | |
153 | - if( class_exists( $classname ) === false ) { |
|
154 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Class "%1$s" not found', $classname ) ); |
|
153 | + if (class_exists($classname) === false) { |
|
154 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Class "%1$s" not found', $classname)); |
|
155 | 155 | } |
156 | 156 | |
157 | - $object = new $classname( $context, $mapping, $object ); |
|
157 | + $object = new $classname($context, $mapping, $object); |
|
158 | 158 | |
159 | - \Aimeos\MW\Common\Base::checkClass( '\\Aimeos\\Controller\\Common\\Coupon\\Import\\Csv\\Processor\\Iface', $object ); |
|
159 | + \Aimeos\MW\Common\Base::checkClass('\\Aimeos\\Controller\\Common\\Coupon\\Import\\Csv\\Processor\\Iface', $object); |
|
160 | 160 | } |
161 | 161 | |
162 | 162 | return $object; |
@@ -30,14 +30,14 @@ discard block |
||
30 | 30 | * @param array $data Associative list of catalog codes and lists of CSV field indexes and their data |
31 | 31 | * @return array Associative list of CSV field indexes and their converted data |
32 | 32 | */ |
33 | - protected function convertData( array $convlist, array $data ) |
|
33 | + protected function convertData(array $convlist, array $data) |
|
34 | 34 | { |
35 | - foreach( $convlist as $idx => $converter ) |
|
35 | + foreach ($convlist as $idx => $converter) |
|
36 | 36 | { |
37 | - foreach( $data as $code => $list ) |
|
37 | + foreach ($data as $code => $list) |
|
38 | 38 | { |
39 | - if( isset( $list[$idx] ) ) { |
|
40 | - $data[$code][$idx] = $converter->translate( $list[$idx] ); |
|
39 | + if (isset($list[$idx])) { |
|
40 | + $data[$code][$idx] = $converter->translate($list[$idx]); |
|
41 | 41 | } |
42 | 42 | } |
43 | 43 | } |
@@ -53,36 +53,36 @@ discard block |
||
53 | 53 | * @param string|null Name of the cache implementation |
54 | 54 | * @return \Aimeos\Controller\Common\Catalog\Import\Csv\Cache\Iface Cache object |
55 | 55 | */ |
56 | - protected function getCache( $type, $name = null ) |
|
56 | + protected function getCache($type, $name = null) |
|
57 | 57 | { |
58 | 58 | $context = $this->getContext(); |
59 | 59 | $config = $context->getConfig(); |
60 | 60 | |
61 | - if( ctype_alnum( $type ) === false ) |
|
61 | + if (ctype_alnum($type) === false) |
|
62 | 62 | { |
63 | 63 | $classname = is_string($name) ? '\\Aimeos\\Controller\\Common\\Catalog\\Import\\Csv\\Cache\\' . $type : '<not a string>'; |
64 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
64 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
65 | 65 | } |
66 | 66 | |
67 | - if( $name === null ) { |
|
68 | - $name = $config->get( 'controller/common/catalog/import/csv/cache/' . $type . '/name', 'Standard' ); |
|
67 | + if ($name === null) { |
|
68 | + $name = $config->get('controller/common/catalog/import/csv/cache/' . $type . '/name', 'Standard'); |
|
69 | 69 | } |
70 | 70 | |
71 | - if( ctype_alnum( $name ) === false ) |
|
71 | + if (ctype_alnum($name) === false) |
|
72 | 72 | { |
73 | 73 | $classname = is_string($name) ? '\\Aimeos\\Controller\\Common\\Catalog\\Import\\Csv\\Cache\\' . $type . '\\' . $name : '<not a string>'; |
74 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
74 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
75 | 75 | } |
76 | 76 | |
77 | - $classname = '\\Aimeos\\Controller\\Common\\Catalog\\Import\\Csv\\Cache\\' . ucfirst( $type ) . '\\' . $name; |
|
77 | + $classname = '\\Aimeos\\Controller\\Common\\Catalog\\Import\\Csv\\Cache\\' . ucfirst($type) . '\\' . $name; |
|
78 | 78 | |
79 | - if( class_exists( $classname ) === false ) { |
|
80 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Class "%1$s" not found', $classname ) ); |
|
79 | + if (class_exists($classname) === false) { |
|
80 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Class "%1$s" not found', $classname)); |
|
81 | 81 | } |
82 | 82 | |
83 | - $object = new $classname( $context ); |
|
83 | + $object = new $classname($context); |
|
84 | 84 | |
85 | - \Aimeos\MW\Common\Base::checkClass( '\\Aimeos\\Controller\\Common\\Catalog\\Import\\Csv\\Cache\\Iface', $object ); |
|
85 | + \Aimeos\MW\Common\Base::checkClass('\\Aimeos\\Controller\\Common\\Catalog\\Import\\Csv\\Cache\\Iface', $object); |
|
86 | 86 | |
87 | 87 | return $object; |
88 | 88 | } |
@@ -94,12 +94,12 @@ discard block |
||
94 | 94 | * @param array $convmap List of converter names for the values at the position in the CSV file |
95 | 95 | * @return array Associative list of positions and converter objects |
96 | 96 | */ |
97 | - protected function getConverterList( array $convmap ) |
|
97 | + protected function getConverterList(array $convmap) |
|
98 | 98 | { |
99 | 99 | $convlist = []; |
100 | 100 | |
101 | - foreach( $convmap as $idx => $name ) { |
|
102 | - $convlist[$idx] = \Aimeos\MW\Convert\Factory::createConverter( $name ); |
|
101 | + foreach ($convmap as $idx => $name) { |
|
102 | + $convlist[$idx] = \Aimeos\MW\Convert\Factory::createConverter($name); |
|
103 | 103 | } |
104 | 104 | |
105 | 105 | return $convlist; |
@@ -114,15 +114,15 @@ discard block |
||
114 | 114 | * @param integer $codePos Column position which contains the unique catalog code (starting from 0) |
115 | 115 | * @return array List of arrays with catalog codes as keys and list of values from the CSV file |
116 | 116 | */ |
117 | - protected function getData( \Aimeos\MW\Container\Content\Iface $content, $maxcnt, $codePos ) |
|
117 | + protected function getData(\Aimeos\MW\Container\Content\Iface $content, $maxcnt, $codePos) |
|
118 | 118 | { |
119 | 119 | $count = 0; |
120 | 120 | $data = []; |
121 | 121 | |
122 | - while( $content->valid() && $count++ < $maxcnt ) |
|
122 | + while ($content->valid() && $count++ < $maxcnt) |
|
123 | 123 | { |
124 | 124 | $row = $content->current(); |
125 | - $data[ $row[$codePos] ] = $row; |
|
125 | + $data[$row[$codePos]] = $row; |
|
126 | 126 | $content->next(); |
127 | 127 | } |
128 | 128 | |
@@ -178,21 +178,21 @@ discard block |
||
178 | 178 | * @param array $mapping List of domain item keys with the CSV field position as key |
179 | 179 | * @return array List of associative arrays containing the chunked properties |
180 | 180 | */ |
181 | - protected function getMappedChunk( array &$data, array $mapping ) |
|
181 | + protected function getMappedChunk(array &$data, array $mapping) |
|
182 | 182 | { |
183 | 183 | $idx = 0; |
184 | 184 | $map = []; |
185 | 185 | |
186 | - foreach( $mapping as $pos => $key ) |
|
186 | + foreach ($mapping as $pos => $key) |
|
187 | 187 | { |
188 | - if( isset( $map[$idx][$key] ) ) { |
|
188 | + if (isset($map[$idx][$key])) { |
|
189 | 189 | $idx++; |
190 | 190 | } |
191 | 191 | |
192 | - if( isset( $data[$pos] ) ) |
|
192 | + if (isset($data[$pos])) |
|
193 | 193 | { |
194 | 194 | $map[$idx][$key] = $data[$pos]; |
195 | - unset( $data[$pos] ); |
|
195 | + unset($data[$pos]); |
|
196 | 196 | } |
197 | 197 | } |
198 | 198 | |
@@ -206,37 +206,37 @@ discard block |
||
206 | 206 | * @param array $mappings Associative list of processor types as keys and index/data mappings as values |
207 | 207 | * @return \Aimeos\Controller\Common\Catalog\Import\Csv\Processor\Iface Processor object |
208 | 208 | */ |
209 | - protected function getProcessors( array $mappings ) |
|
209 | + protected function getProcessors(array $mappings) |
|
210 | 210 | { |
211 | 211 | $context = $this->getContext(); |
212 | 212 | $config = $context->getConfig(); |
213 | - $object = new \Aimeos\Controller\Common\Catalog\Import\Csv\Processor\Done( $context, [] ); |
|
213 | + $object = new \Aimeos\Controller\Common\Catalog\Import\Csv\Processor\Done($context, []); |
|
214 | 214 | |
215 | - foreach( $mappings as $type => $mapping ) |
|
215 | + foreach ($mappings as $type => $mapping) |
|
216 | 216 | { |
217 | - if( ctype_alnum( $type ) === false ) |
|
217 | + if (ctype_alnum($type) === false) |
|
218 | 218 | { |
219 | 219 | $classname = is_string($type) ? '\\Aimeos\\Controller\\Common\\Catalog\\Import\\Csv\\Processor\\' . $type : '<not a string>'; |
220 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
220 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
221 | 221 | } |
222 | 222 | |
223 | - $name = $config->get( 'controller/common/catalog/import/csv/processor/' . $type . '/name', 'Standard' ); |
|
223 | + $name = $config->get('controller/common/catalog/import/csv/processor/' . $type . '/name', 'Standard'); |
|
224 | 224 | |
225 | - if( ctype_alnum( $name ) === false ) |
|
225 | + if (ctype_alnum($name) === false) |
|
226 | 226 | { |
227 | 227 | $classname = is_string($name) ? '\\Aimeos\\Controller\\Common\\Catalog\\Import\\Csv\\Processor\\' . $type . '\\' . $name : '<not a string>'; |
228 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
228 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
229 | 229 | } |
230 | 230 | |
231 | - $classname = '\\Aimeos\\Controller\\Common\\Catalog\\Import\\Csv\\Processor\\' . ucfirst( $type ) . '\\' . $name; |
|
231 | + $classname = '\\Aimeos\\Controller\\Common\\Catalog\\Import\\Csv\\Processor\\' . ucfirst($type) . '\\' . $name; |
|
232 | 232 | |
233 | - if( class_exists( $classname ) === false ) { |
|
234 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Class "%1$s" not found', $classname ) ); |
|
233 | + if (class_exists($classname) === false) { |
|
234 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Class "%1$s" not found', $classname)); |
|
235 | 235 | } |
236 | 236 | |
237 | - $object = new $classname( $context, $mapping, $object ); |
|
237 | + $object = new $classname($context, $mapping, $object); |
|
238 | 238 | |
239 | - \Aimeos\MW\Common\Base::checkClass( '\\Aimeos\\Controller\\Common\\Catalog\\Import\\Csv\\Processor\\Iface', $object ); |
|
239 | + \Aimeos\MW\Common\Base::checkClass('\\Aimeos\\Controller\\Common\\Catalog\\Import\\Csv\\Processor\\Iface', $object); |
|
240 | 240 | } |
241 | 241 | |
242 | 242 | return $object; |
@@ -251,23 +251,23 @@ discard block |
||
251 | 251 | * @param string $code Unique code of the type item |
252 | 252 | * @return string Unique ID of the type item |
253 | 253 | */ |
254 | - protected function getTypeId( $path, $domain, $code ) |
|
254 | + protected function getTypeId($path, $domain, $code) |
|
255 | 255 | { |
256 | - if( !isset( self::$types[$path][$domain] ) ) |
|
256 | + if (!isset(self::$types[$path][$domain])) |
|
257 | 257 | { |
258 | - $manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), $path ); |
|
259 | - $key = str_replace( '/', '.', $path ); |
|
258 | + $manager = \Aimeos\MShop\Factory::createManager($this->getContext(), $path); |
|
259 | + $key = str_replace('/', '.', $path); |
|
260 | 260 | |
261 | 261 | $search = $manager->createSearch(); |
262 | - $search->setConditions( $search->compare( '==', $key . '.domain', $domain ) ); |
|
262 | + $search->setConditions($search->compare('==', $key . '.domain', $domain)); |
|
263 | 263 | |
264 | - foreach( $manager->searchItems( $search ) as $id => $item ) { |
|
265 | - self::$types[$path][$domain][ $item->getCode() ] = $id; |
|
264 | + foreach ($manager->searchItems($search) as $id => $item) { |
|
265 | + self::$types[$path][$domain][$item->getCode()] = $id; |
|
266 | 266 | } |
267 | 267 | } |
268 | 268 | |
269 | - if( !isset( self::$types[$path][$domain][$code] ) ) { |
|
270 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'No type item for "%1$s/%2$s" in "%3$s" found', $domain, $code, $path ) ); |
|
269 | + if (!isset(self::$types[$path][$domain][$code])) { |
|
270 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('No type item for "%1$s/%2$s" in "%3$s" found', $domain, $code, $path)); |
|
271 | 271 | } |
272 | 272 | |
273 | 273 | return self::$types[$path][$domain][$code]; |
@@ -30,14 +30,14 @@ discard block |
||
30 | 30 | * @param array $data Associative list of product codes and lists of CSV field indexes and their data |
31 | 31 | * @return array Associative list of CSV field indexes and their converted data |
32 | 32 | */ |
33 | - protected function convertData( array $convlist, array $data ) |
|
33 | + protected function convertData(array $convlist, array $data) |
|
34 | 34 | { |
35 | - foreach( $convlist as $idx => $converter ) |
|
35 | + foreach ($convlist as $idx => $converter) |
|
36 | 36 | { |
37 | - foreach( $data as $code => $list ) |
|
37 | + foreach ($data as $code => $list) |
|
38 | 38 | { |
39 | - if( isset( $list[$idx] ) ) { |
|
40 | - $data[$code][$idx] = $converter->translate( $list[$idx] ); |
|
39 | + if (isset($list[$idx])) { |
|
40 | + $data[$code][$idx] = $converter->translate($list[$idx]); |
|
41 | 41 | } |
42 | 42 | } |
43 | 43 | } |
@@ -53,36 +53,36 @@ discard block |
||
53 | 53 | * @param string|null Name of the cache implementation |
54 | 54 | * @return \Aimeos\Controller\Common\Product\Import\Csv\Cache\Iface Cache object |
55 | 55 | */ |
56 | - protected function getCache( $type, $name = null ) |
|
56 | + protected function getCache($type, $name = null) |
|
57 | 57 | { |
58 | 58 | $context = $this->getContext(); |
59 | 59 | $config = $context->getConfig(); |
60 | 60 | |
61 | - if( ctype_alnum( $type ) === false ) |
|
61 | + if (ctype_alnum($type) === false) |
|
62 | 62 | { |
63 | 63 | $classname = is_string($name) ? '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Cache\\' . $type : '<not a string>'; |
64 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
64 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
65 | 65 | } |
66 | 66 | |
67 | - if( $name === null ) { |
|
68 | - $name = $config->get( 'controller/common/product/import/csv/cache/' . $type . '/name', 'Standard' ); |
|
67 | + if ($name === null) { |
|
68 | + $name = $config->get('controller/common/product/import/csv/cache/' . $type . '/name', 'Standard'); |
|
69 | 69 | } |
70 | 70 | |
71 | - if( ctype_alnum( $name ) === false ) |
|
71 | + if (ctype_alnum($name) === false) |
|
72 | 72 | { |
73 | 73 | $classname = is_string($name) ? '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Cache\\' . $type . '\\' . $name : '<not a string>'; |
74 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
74 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
75 | 75 | } |
76 | 76 | |
77 | - $classname = '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Cache\\' . ucfirst( $type ) . '\\' . $name; |
|
77 | + $classname = '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Cache\\' . ucfirst($type) . '\\' . $name; |
|
78 | 78 | |
79 | - if( class_exists( $classname ) === false ) { |
|
80 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Class "%1$s" not found', $classname ) ); |
|
79 | + if (class_exists($classname) === false) { |
|
80 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Class "%1$s" not found', $classname)); |
|
81 | 81 | } |
82 | 82 | |
83 | - $object = new $classname( $context ); |
|
83 | + $object = new $classname($context); |
|
84 | 84 | |
85 | - \Aimeos\MW\Common\Base::checkClass( '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Cache\\Iface', $object ); |
|
85 | + \Aimeos\MW\Common\Base::checkClass('\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Cache\\Iface', $object); |
|
86 | 86 | |
87 | 87 | return $object; |
88 | 88 | } |
@@ -94,12 +94,12 @@ discard block |
||
94 | 94 | * @param array $convmap List of converter names for the values at the position in the CSV file |
95 | 95 | * @return array Associative list of positions and converter objects |
96 | 96 | */ |
97 | - protected function getConverterList( array $convmap ) |
|
97 | + protected function getConverterList(array $convmap) |
|
98 | 98 | { |
99 | 99 | $convlist = []; |
100 | 100 | |
101 | - foreach( $convmap as $idx => $name ) { |
|
102 | - $convlist[$idx] = \Aimeos\MW\Convert\Factory::createConverter( $name ); |
|
101 | + foreach ($convmap as $idx => $name) { |
|
102 | + $convlist[$idx] = \Aimeos\MW\Convert\Factory::createConverter($name); |
|
103 | 103 | } |
104 | 104 | |
105 | 105 | return $convlist; |
@@ -114,15 +114,15 @@ discard block |
||
114 | 114 | * @param integer $codePos Column position which contains the unique product code (starting from 0) |
115 | 115 | * @return array List of arrays with product codes as keys and list of values from the CSV file |
116 | 116 | */ |
117 | - protected function getData( \Aimeos\MW\Container\Content\Iface $content, $maxcnt, $codePos ) |
|
117 | + protected function getData(\Aimeos\MW\Container\Content\Iface $content, $maxcnt, $codePos) |
|
118 | 118 | { |
119 | 119 | $count = 0; |
120 | 120 | $data = []; |
121 | 121 | |
122 | - while( $content->valid() && $count++ < $maxcnt ) |
|
122 | + while ($content->valid() && $count++ < $maxcnt) |
|
123 | 123 | { |
124 | 124 | $row = $content->current(); |
125 | - $data[ $row[$codePos] ] = $row; |
|
125 | + $data[$row[$codePos]] = $row; |
|
126 | 126 | $content->next(); |
127 | 127 | } |
128 | 128 | |
@@ -221,21 +221,21 @@ discard block |
||
221 | 221 | * @param array $mapping List of domain item keys with the CSV field position as key |
222 | 222 | * @return array List of associative arrays containing the chunked properties |
223 | 223 | */ |
224 | - protected function getMappedChunk( array &$data, array $mapping ) |
|
224 | + protected function getMappedChunk(array &$data, array $mapping) |
|
225 | 225 | { |
226 | 226 | $idx = 0; |
227 | 227 | $map = []; |
228 | 228 | |
229 | - foreach( $mapping as $pos => $key ) |
|
229 | + foreach ($mapping as $pos => $key) |
|
230 | 230 | { |
231 | - if( isset( $map[$idx][$key] ) ) { |
|
231 | + if (isset($map[$idx][$key])) { |
|
232 | 232 | $idx++; |
233 | 233 | } |
234 | 234 | |
235 | - if( isset( $data[$pos] ) ) |
|
235 | + if (isset($data[$pos])) |
|
236 | 236 | { |
237 | 237 | $map[$idx][$key] = $data[$pos]; |
238 | - unset( $data[$pos] ); |
|
238 | + unset($data[$pos]); |
|
239 | 239 | } |
240 | 240 | } |
241 | 241 | |
@@ -249,37 +249,37 @@ discard block |
||
249 | 249 | * @param array $mappings Associative list of processor types as keys and index/data mappings as values |
250 | 250 | * @return \Aimeos\Controller\Common\Product\Import\Csv\Processor\Iface Processor object |
251 | 251 | */ |
252 | - protected function getProcessors( array $mappings ) |
|
252 | + protected function getProcessors(array $mappings) |
|
253 | 253 | { |
254 | 254 | $context = $this->getContext(); |
255 | 255 | $config = $context->getConfig(); |
256 | - $object = new \Aimeos\Controller\Common\Product\Import\Csv\Processor\Done( $context, [] ); |
|
256 | + $object = new \Aimeos\Controller\Common\Product\Import\Csv\Processor\Done($context, []); |
|
257 | 257 | |
258 | - foreach( $mappings as $type => $mapping ) |
|
258 | + foreach ($mappings as $type => $mapping) |
|
259 | 259 | { |
260 | - if( ctype_alnum( $type ) === false ) |
|
260 | + if (ctype_alnum($type) === false) |
|
261 | 261 | { |
262 | 262 | $classname = is_string($type) ? '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Processor\\' . $type : '<not a string>'; |
263 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
263 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
264 | 264 | } |
265 | 265 | |
266 | - $name = $config->get( 'controller/common/product/import/csv/processor/' . $type . '/name', 'Standard' ); |
|
266 | + $name = $config->get('controller/common/product/import/csv/processor/' . $type . '/name', 'Standard'); |
|
267 | 267 | |
268 | - if( ctype_alnum( $name ) === false ) |
|
268 | + if (ctype_alnum($name) === false) |
|
269 | 269 | { |
270 | 270 | $classname = is_string($name) ? '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Processor\\' . $type . '\\' . $name : '<not a string>'; |
271 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Invalid characters in class name "%1$s"', $classname ) ); |
|
271 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Invalid characters in class name "%1$s"', $classname)); |
|
272 | 272 | } |
273 | 273 | |
274 | - $classname = '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Processor\\' . ucfirst( $type ) . '\\' . $name; |
|
274 | + $classname = '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Processor\\' . ucfirst($type) . '\\' . $name; |
|
275 | 275 | |
276 | - if( class_exists( $classname ) === false ) { |
|
277 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'Class "%1$s" not found', $classname ) ); |
|
276 | + if (class_exists($classname) === false) { |
|
277 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('Class "%1$s" not found', $classname)); |
|
278 | 278 | } |
279 | 279 | |
280 | - $object = new $classname( $context, $mapping, $object ); |
|
280 | + $object = new $classname($context, $mapping, $object); |
|
281 | 281 | |
282 | - \Aimeos\MW\Common\Base::checkClass( '\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Processor\\Iface', $object ); |
|
282 | + \Aimeos\MW\Common\Base::checkClass('\\Aimeos\\Controller\\Common\\Product\\Import\\Csv\\Processor\\Iface', $object); |
|
283 | 283 | } |
284 | 284 | |
285 | 285 | return $object; |
@@ -293,17 +293,17 @@ discard block |
||
293 | 293 | * @param array $domains List of domains whose items should be fetched too |
294 | 294 | * @return array Associative list of product codes as key and product items as value |
295 | 295 | */ |
296 | - protected function getProducts( array $codes, array $domains ) |
|
296 | + protected function getProducts(array $codes, array $domains) |
|
297 | 297 | { |
298 | 298 | $result = []; |
299 | - $manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), 'product' ); |
|
299 | + $manager = \Aimeos\MShop\Factory::createManager($this->getContext(), 'product'); |
|
300 | 300 | |
301 | 301 | $search = $manager->createSearch(); |
302 | - $search->setConditions( $search->compare( '==', 'product.code', $codes ) ); |
|
303 | - $search->setSlice( 0, count( $codes ) ); |
|
302 | + $search->setConditions($search->compare('==', 'product.code', $codes)); |
|
303 | + $search->setSlice(0, count($codes)); |
|
304 | 304 | |
305 | - foreach( $manager->searchItems( $search, $domains ) as $item ) { |
|
306 | - $result[ $item->getCode() ] = $item; |
|
305 | + foreach ($manager->searchItems($search, $domains) as $item) { |
|
306 | + $result[$item->getCode()] = $item; |
|
307 | 307 | } |
308 | 308 | |
309 | 309 | return $result; |
@@ -318,23 +318,23 @@ discard block |
||
318 | 318 | * @param string $code Unique code of the type item |
319 | 319 | * @return string Unique ID of the type item |
320 | 320 | */ |
321 | - protected function getTypeId( $path, $domain, $code ) |
|
321 | + protected function getTypeId($path, $domain, $code) |
|
322 | 322 | { |
323 | - if( !isset( self::$types[$path][$domain] ) ) |
|
323 | + if (!isset(self::$types[$path][$domain])) |
|
324 | 324 | { |
325 | - $manager = \Aimeos\MShop\Factory::createManager( $this->getContext(), $path ); |
|
326 | - $key = str_replace( '/', '.', $path ); |
|
325 | + $manager = \Aimeos\MShop\Factory::createManager($this->getContext(), $path); |
|
326 | + $key = str_replace('/', '.', $path); |
|
327 | 327 | |
328 | 328 | $search = $manager->createSearch(); |
329 | - $search->setConditions( $search->compare( '==', $key . '.domain', $domain ) ); |
|
329 | + $search->setConditions($search->compare('==', $key . '.domain', $domain)); |
|
330 | 330 | |
331 | - foreach( $manager->searchItems( $search ) as $id => $item ) { |
|
332 | - self::$types[$path][$domain][ $item->getCode() ] = $id; |
|
331 | + foreach ($manager->searchItems($search) as $id => $item) { |
|
332 | + self::$types[$path][$domain][$item->getCode()] = $id; |
|
333 | 333 | } |
334 | 334 | } |
335 | 335 | |
336 | - if( !isset( self::$types[$path][$domain][$code] ) ) { |
|
337 | - throw new \Aimeos\Controller\Jobs\Exception( sprintf( 'No type item for "%1$s/%2$s" in "%3$s" found', $domain, $code, $path ) ); |
|
336 | + if (!isset(self::$types[$path][$domain][$code])) { |
|
337 | + throw new \Aimeos\Controller\Jobs\Exception(sprintf('No type item for "%1$s/%2$s" in "%3$s" found', $domain, $code, $path)); |
|
338 | 338 | } |
339 | 339 | |
340 | 340 | return self::$types[$path][$domain][$code]; |
@@ -28,7 +28,7 @@ discard block |
||
28 | 28 | */ |
29 | 29 | public function getName() |
30 | 30 | { |
31 | - return $this->getContext()->getI18n()->dt( 'controller/jobs', 'Subscription process end' ); |
|
31 | + return $this->getContext()->getI18n()->dt('controller/jobs', 'Subscription process end'); |
|
32 | 32 | } |
33 | 33 | |
34 | 34 | |
@@ -39,7 +39,7 @@ discard block |
||
39 | 39 | */ |
40 | 40 | public function getDescription() |
41 | 41 | { |
42 | - return $this->getContext()->getI18n()->dt( 'controller/jobs', 'Terminates expired subscriptions' ); |
|
42 | + return $this->getContext()->getI18n()->dt('controller/jobs', 'Terminates expired subscriptions'); |
|
43 | 43 | } |
44 | 44 | |
45 | 45 | |
@@ -65,51 +65,51 @@ discard block |
||
65 | 65 | * @since 2018.04 |
66 | 66 | * @category Developer |
67 | 67 | */ |
68 | - $names = (array) $config->get( 'controller/common/subscription/process/processors', [] ); |
|
68 | + $names = (array) $config->get('controller/common/subscription/process/processors', []); |
|
69 | 69 | |
70 | - $processors = $this->getProcessors( $names ); |
|
71 | - $manager = \Aimeos\MShop\Factory::createManager( $context, 'subscription' ); |
|
70 | + $processors = $this->getProcessors($names); |
|
71 | + $manager = \Aimeos\MShop\Factory::createManager($context, 'subscription'); |
|
72 | 72 | |
73 | - $search = $manager->createSearch( true ); |
|
73 | + $search = $manager->createSearch(true); |
|
74 | 74 | $expr = [ |
75 | - $search->compare( '<', 'subscription.dateend', date( 'Y-m-d' ) ), |
|
75 | + $search->compare('<', 'subscription.dateend', date('Y-m-d')), |
|
76 | 76 | $search->getConditions(), |
77 | 77 | ]; |
78 | - $search->setConditions( $search->combine( '&&', $expr ) ); |
|
79 | - $search->setSortations( [$search->sort( '+', 'subscription.id' )] ); |
|
78 | + $search->setConditions($search->combine('&&', $expr)); |
|
79 | + $search->setSortations([$search->sort('+', 'subscription.id')]); |
|
80 | 80 | |
81 | 81 | $start = 0; |
82 | 82 | |
83 | 83 | do |
84 | 84 | { |
85 | - $search->setSlice( $start, 100 ); |
|
86 | - $items = $manager->searchItems( $search ); |
|
85 | + $search->setSlice($start, 100); |
|
86 | + $items = $manager->searchItems($search); |
|
87 | 87 | |
88 | - foreach( $items as $item ) |
|
88 | + foreach ($items as $item) |
|
89 | 89 | { |
90 | 90 | try |
91 | 91 | { |
92 | - foreach( $processors as $processor ) { |
|
93 | - $processor->end( $item ); |
|
92 | + foreach ($processors as $processor) { |
|
93 | + $processor->end($item); |
|
94 | 94 | } |
95 | 95 | |
96 | - if( ( $reason = $item->getReason() ) === null ) { |
|
96 | + if (($reason = $item->getReason()) === null) { |
|
97 | 97 | $reason = \Aimeos\MShop\Subscription\Item\Iface::REASON_END; |
98 | 98 | } |
99 | 99 | |
100 | - $manager->saveItem( $item->setReason( $reason )->setStatus( 0 ) ); |
|
100 | + $manager->saveItem($item->setReason($reason)->setStatus(0)); |
|
101 | 101 | } |
102 | - catch( \Exception $e ) |
|
102 | + catch (\Exception $e) |
|
103 | 103 | { |
104 | 104 | $msg = 'Unable to process subscription with ID "%1$S": %2$s'; |
105 | - $logger->log( sprintf( $msg, $item->getId(), $e->getMessage() ) ); |
|
106 | - $logger->log( $e->getTraceAsString() ); |
|
105 | + $logger->log(sprintf($msg, $item->getId(), $e->getMessage())); |
|
106 | + $logger->log($e->getTraceAsString()); |
|
107 | 107 | } |
108 | 108 | } |
109 | 109 | |
110 | - $count = count( $items ); |
|
110 | + $count = count($items); |
|
111 | 111 | $start += $count; |
112 | 112 | } |
113 | - while( $count === $search->getSliceSize() ); |
|
113 | + while ($count === $search->getSliceSize()); |
|
114 | 114 | } |
115 | 115 | } |
@@ -98,8 +98,7 @@ |
||
98 | 98 | } |
99 | 99 | |
100 | 100 | $manager->saveItem( $item->setReason( $reason )->setStatus( 0 ) ); |
101 | - } |
|
102 | - catch( \Exception $e ) |
|
101 | + } catch( \Exception $e ) |
|
103 | 102 | { |
104 | 103 | $msg = 'Unable to process subscription with ID "%1$S": %2$s'; |
105 | 104 | $logger->log( sprintf( $msg, $item->getId(), $e->getMessage() ) ); |
@@ -20,7 +20,7 @@ discard block |
||
20 | 20 | $context = \TestHelperJobs::getContext(); |
21 | 21 | $aimeos = \TestHelperJobs::getAimeos(); |
22 | 22 | |
23 | - $this->object = new \Aimeos\Controller\Jobs\Order\Service\Delivery\Standard( $context, $aimeos ); |
|
23 | + $this->object = new \Aimeos\Controller\Jobs\Order\Service\Delivery\Standard($context, $aimeos); |
|
24 | 24 | } |
25 | 25 | |
26 | 26 | |
@@ -32,14 +32,14 @@ discard block |
||
32 | 32 | |
33 | 33 | public function testGetName() |
34 | 34 | { |
35 | - $this->assertEquals( 'Process order delivery services', $this->object->getName() ); |
|
35 | + $this->assertEquals('Process order delivery services', $this->object->getName()); |
|
36 | 36 | } |
37 | 37 | |
38 | 38 | |
39 | 39 | public function testGetDescription() |
40 | 40 | { |
41 | 41 | $text = 'Sends paid orders to the ERP system or logistic partner'; |
42 | - $this->assertEquals( $text, $this->object->getDescription() ); |
|
42 | + $this->assertEquals($text, $this->object->getDescription()); |
|
43 | 43 | } |
44 | 44 | |
45 | 45 | |
@@ -50,47 +50,47 @@ discard block |
||
50 | 50 | |
51 | 51 | |
52 | 52 | $name = 'ControllerJobsServiceDeliveryProcessDefaultRun'; |
53 | - $context->getConfig()->set( 'mshop/service/manager/name', $name ); |
|
54 | - $context->getConfig()->set( 'mshop/order/manager/name', $name ); |
|
53 | + $context->getConfig()->set('mshop/service/manager/name', $name); |
|
54 | + $context->getConfig()->set('mshop/order/manager/name', $name); |
|
55 | 55 | |
56 | 56 | |
57 | - $serviceManagerStub = $this->getMockBuilder( '\\Aimeos\\MShop\\Service\\Manager\\Standard' ) |
|
58 | - ->setMethods( array( 'getProvider', 'searchItems' ) ) |
|
59 | - ->setConstructorArgs( array( $context ) ) |
|
57 | + $serviceManagerStub = $this->getMockBuilder('\\Aimeos\\MShop\\Service\\Manager\\Standard') |
|
58 | + ->setMethods(array('getProvider', 'searchItems')) |
|
59 | + ->setConstructorArgs(array($context)) |
|
60 | 60 | ->getMock(); |
61 | 61 | |
62 | - $orderManagerStub = $this->getMockBuilder( '\\Aimeos\\MShop\\Order\\Manager\\Standard' ) |
|
63 | - ->setMethods( array( 'saveItems', 'searchItems' ) ) |
|
64 | - ->setConstructorArgs( array( $context ) ) |
|
62 | + $orderManagerStub = $this->getMockBuilder('\\Aimeos\\MShop\\Order\\Manager\\Standard') |
|
63 | + ->setMethods(array('saveItems', 'searchItems')) |
|
64 | + ->setConstructorArgs(array($context)) |
|
65 | 65 | ->getMock(); |
66 | 66 | |
67 | - \Aimeos\MShop\Service\Manager\Factory::injectManager( '\\Aimeos\\MShop\\Service\\Manager\\' . $name, $serviceManagerStub ); |
|
68 | - \Aimeos\MShop\Order\Manager\Factory::injectManager( '\\Aimeos\\MShop\\Order\\Manager\\' . $name, $orderManagerStub ); |
|
67 | + \Aimeos\MShop\Service\Manager\Factory::injectManager('\\Aimeos\\MShop\\Service\\Manager\\' . $name, $serviceManagerStub); |
|
68 | + \Aimeos\MShop\Order\Manager\Factory::injectManager('\\Aimeos\\MShop\\Order\\Manager\\' . $name, $orderManagerStub); |
|
69 | 69 | |
70 | 70 | |
71 | 71 | $serviceItem = $serviceManagerStub->createItem(); |
72 | 72 | $orderItem = $orderManagerStub->createItem(); |
73 | 73 | |
74 | - $serviceProviderStub = $this->getMockBuilder( '\\Aimeos\\MShop\\Service\\Provider\\Delivery\\Manual' ) |
|
75 | - ->setConstructorArgs( array( $context, $serviceItem ) ) |
|
74 | + $serviceProviderStub = $this->getMockBuilder('\\Aimeos\\MShop\\Service\\Provider\\Delivery\\Manual') |
|
75 | + ->setConstructorArgs(array($context, $serviceItem)) |
|
76 | 76 | ->getMock(); |
77 | 77 | |
78 | 78 | |
79 | - $serviceManagerStub->expects( $this->once() )->method( 'searchItems' ) |
|
80 | - ->will( $this->onConsecutiveCalls( array( $serviceItem ), [] ) ); |
|
79 | + $serviceManagerStub->expects($this->once())->method('searchItems') |
|
80 | + ->will($this->onConsecutiveCalls(array($serviceItem), [])); |
|
81 | 81 | |
82 | - $serviceManagerStub->expects( $this->once() )->method( 'getProvider' ) |
|
83 | - ->will( $this->returnValue( $serviceProviderStub ) ); |
|
82 | + $serviceManagerStub->expects($this->once())->method('getProvider') |
|
83 | + ->will($this->returnValue($serviceProviderStub)); |
|
84 | 84 | |
85 | - $orderManagerStub->expects( $this->once() )->method( 'searchItems' ) |
|
86 | - ->will( $this->onConsecutiveCalls( array( $orderItem ), [] ) ); |
|
85 | + $orderManagerStub->expects($this->once())->method('searchItems') |
|
86 | + ->will($this->onConsecutiveCalls(array($orderItem), [])); |
|
87 | 87 | |
88 | - $serviceProviderStub->expects( $this->once() )->method( 'processBatch' ); |
|
88 | + $serviceProviderStub->expects($this->once())->method('processBatch'); |
|
89 | 89 | |
90 | - $orderManagerStub->expects( $this->once() )->method( 'saveItems' ); |
|
90 | + $orderManagerStub->expects($this->once())->method('saveItems'); |
|
91 | 91 | |
92 | 92 | |
93 | - $object = new \Aimeos\Controller\Jobs\Order\Service\Delivery\Standard( $context, $aimeos ); |
|
93 | + $object = new \Aimeos\Controller\Jobs\Order\Service\Delivery\Standard($context, $aimeos); |
|
94 | 94 | $object->run(); |
95 | 95 | } |
96 | 96 | |
@@ -102,48 +102,48 @@ discard block |
||
102 | 102 | |
103 | 103 | |
104 | 104 | $name = 'ControllerJobsServiceDeliveryProcessDefaultRun'; |
105 | - $context->getConfig()->set( 'mshop/service/manager/name', $name ); |
|
106 | - $context->getConfig()->set( 'mshop/order/manager/name', $name ); |
|
105 | + $context->getConfig()->set('mshop/service/manager/name', $name); |
|
106 | + $context->getConfig()->set('mshop/order/manager/name', $name); |
|
107 | 107 | |
108 | 108 | |
109 | - $orderManagerStub = $this->getMockBuilder( '\\Aimeos\\MShop\\Order\\Manager\\Standard' ) |
|
110 | - ->setMethods( array( 'saveItems', 'searchItems' ) ) |
|
111 | - ->setConstructorArgs( array( $context ) ) |
|
109 | + $orderManagerStub = $this->getMockBuilder('\\Aimeos\\MShop\\Order\\Manager\\Standard') |
|
110 | + ->setMethods(array('saveItems', 'searchItems')) |
|
111 | + ->setConstructorArgs(array($context)) |
|
112 | 112 | ->getMock(); |
113 | 113 | |
114 | - $serviceManagerStub = $this->getMockBuilder( '\\Aimeos\\MShop\\Service\\Manager\\Standard' ) |
|
115 | - ->setMethods( array( 'getProvider', 'searchItems' ) ) |
|
116 | - ->setConstructorArgs( array( $context ) ) |
|
114 | + $serviceManagerStub = $this->getMockBuilder('\\Aimeos\\MShop\\Service\\Manager\\Standard') |
|
115 | + ->setMethods(array('getProvider', 'searchItems')) |
|
116 | + ->setConstructorArgs(array($context)) |
|
117 | 117 | ->getMock(); |
118 | 118 | |
119 | - \Aimeos\MShop\Service\Manager\Factory::injectManager( '\\Aimeos\\MShop\\Service\\Manager\\' . $name, $serviceManagerStub ); |
|
120 | - \Aimeos\MShop\Order\Manager\Factory::injectManager( '\\Aimeos\\MShop\\Order\\Manager\\' . $name, $orderManagerStub ); |
|
119 | + \Aimeos\MShop\Service\Manager\Factory::injectManager('\\Aimeos\\MShop\\Service\\Manager\\' . $name, $serviceManagerStub); |
|
120 | + \Aimeos\MShop\Order\Manager\Factory::injectManager('\\Aimeos\\MShop\\Order\\Manager\\' . $name, $orderManagerStub); |
|
121 | 121 | |
122 | 122 | |
123 | 123 | $serviceItem = $serviceManagerStub->createItem(); |
124 | 124 | $orderItem = $orderManagerStub->createItem(); |
125 | 125 | |
126 | - $serviceProviderStub = $this->getMockBuilder( '\\Aimeos\\MShop\\Service\\Provider\\Delivery\\Manual' ) |
|
127 | - ->setConstructorArgs( array( $context, $serviceItem ) ) |
|
126 | + $serviceProviderStub = $this->getMockBuilder('\\Aimeos\\MShop\\Service\\Provider\\Delivery\\Manual') |
|
127 | + ->setConstructorArgs(array($context, $serviceItem)) |
|
128 | 128 | ->getMock(); |
129 | 129 | |
130 | 130 | |
131 | - $serviceManagerStub->expects( $this->once() )->method( 'searchItems' ) |
|
132 | - ->will( $this->onConsecutiveCalls( array( $serviceItem ), [] ) ); |
|
131 | + $serviceManagerStub->expects($this->once())->method('searchItems') |
|
132 | + ->will($this->onConsecutiveCalls(array($serviceItem), [])); |
|
133 | 133 | |
134 | - $serviceManagerStub->expects( $this->once() )->method( 'getProvider' ) |
|
135 | - ->will( $this->returnValue( $serviceProviderStub ) ); |
|
134 | + $serviceManagerStub->expects($this->once())->method('getProvider') |
|
135 | + ->will($this->returnValue($serviceProviderStub)); |
|
136 | 136 | |
137 | - $orderManagerStub->expects( $this->once() )->method( 'searchItems' ) |
|
138 | - ->will( $this->onConsecutiveCalls( array( $orderItem ), [] ) ); |
|
137 | + $orderManagerStub->expects($this->once())->method('searchItems') |
|
138 | + ->will($this->onConsecutiveCalls(array($orderItem), [])); |
|
139 | 139 | |
140 | - $serviceProviderStub->expects( $this->once() )->method( 'processBatch' ) |
|
141 | - ->will( $this->throwException( new \Aimeos\MShop\Service\Exception( 'test order service delivery: process' ) ) ); |
|
140 | + $serviceProviderStub->expects($this->once())->method('processBatch') |
|
141 | + ->will($this->throwException(new \Aimeos\MShop\Service\Exception('test order service delivery: process'))); |
|
142 | 142 | |
143 | - $orderManagerStub->expects( $this->never() )->method( 'saveItems' ); |
|
143 | + $orderManagerStub->expects($this->never())->method('saveItems'); |
|
144 | 144 | |
145 | 145 | |
146 | - $object = new \Aimeos\Controller\Jobs\Order\Service\Delivery\Standard( $context, $aimeos ); |
|
146 | + $object = new \Aimeos\Controller\Jobs\Order\Service\Delivery\Standard($context, $aimeos); |
|
147 | 147 | $object->run(); |
148 | 148 | } |
149 | 149 | |
@@ -155,36 +155,36 @@ discard block |
||
155 | 155 | |
156 | 156 | |
157 | 157 | $name = 'ControllerJobsServiceDeliveryProcessDefaultRun'; |
158 | - $context->getConfig()->set( 'mshop/service/manager/name', $name ); |
|
159 | - $context->getConfig()->set( 'mshop/order/manager/name', $name ); |
|
158 | + $context->getConfig()->set('mshop/service/manager/name', $name); |
|
159 | + $context->getConfig()->set('mshop/order/manager/name', $name); |
|
160 | 160 | |
161 | 161 | |
162 | - $orderManagerStub = $this->getMockBuilder( '\\Aimeos\\MShop\\Order\\Manager\\Standard' ) |
|
163 | - ->setMethods( array( 'saveItem', 'searchItems' ) ) |
|
164 | - ->setConstructorArgs( array( $context ) ) |
|
162 | + $orderManagerStub = $this->getMockBuilder('\\Aimeos\\MShop\\Order\\Manager\\Standard') |
|
163 | + ->setMethods(array('saveItem', 'searchItems')) |
|
164 | + ->setConstructorArgs(array($context)) |
|
165 | 165 | ->getMock(); |
166 | 166 | |
167 | - $serviceManagerStub = $this->getMockBuilder( '\\Aimeos\\MShop\\Service\\Manager\\Standard' ) |
|
168 | - ->setMethods( array( 'getProvider', 'searchItems' ) ) |
|
169 | - ->setConstructorArgs( array( $context ) ) |
|
167 | + $serviceManagerStub = $this->getMockBuilder('\\Aimeos\\MShop\\Service\\Manager\\Standard') |
|
168 | + ->setMethods(array('getProvider', 'searchItems')) |
|
169 | + ->setConstructorArgs(array($context)) |
|
170 | 170 | ->getMock(); |
171 | 171 | |
172 | - \Aimeos\MShop\Service\Manager\Factory::injectManager( '\\Aimeos\\MShop\\Service\\Manager\\' . $name, $serviceManagerStub ); |
|
173 | - \Aimeos\MShop\Order\Manager\Factory::injectManager( '\\Aimeos\\MShop\\Order\\Manager\\' . $name, $orderManagerStub ); |
|
172 | + \Aimeos\MShop\Service\Manager\Factory::injectManager('\\Aimeos\\MShop\\Service\\Manager\\' . $name, $serviceManagerStub); |
|
173 | + \Aimeos\MShop\Order\Manager\Factory::injectManager('\\Aimeos\\MShop\\Order\\Manager\\' . $name, $orderManagerStub); |
|
174 | 174 | |
175 | 175 | |
176 | 176 | $serviceItem = $serviceManagerStub->createItem(); |
177 | 177 | |
178 | - $serviceManagerStub->expects( $this->once() )->method( 'searchItems' ) |
|
179 | - ->will( $this->onConsecutiveCalls( array( $serviceItem ), [] ) ); |
|
178 | + $serviceManagerStub->expects($this->once())->method('searchItems') |
|
179 | + ->will($this->onConsecutiveCalls(array($serviceItem), [])); |
|
180 | 180 | |
181 | - $serviceManagerStub->expects( $this->once() )->method( 'getProvider' ) |
|
182 | - ->will( $this->throwException( new \Aimeos\MShop\Service\Exception( 'test sorder service delivery: getProvider' ) ) ); |
|
181 | + $serviceManagerStub->expects($this->once())->method('getProvider') |
|
182 | + ->will($this->throwException(new \Aimeos\MShop\Service\Exception('test sorder service delivery: getProvider'))); |
|
183 | 183 | |
184 | - $orderManagerStub->expects( $this->never() )->method( 'searchItems' ); |
|
184 | + $orderManagerStub->expects($this->never())->method('searchItems'); |
|
185 | 185 | |
186 | 186 | |
187 | - $object = new \Aimeos\Controller\Jobs\Order\Service\Delivery\Standard( $context, $aimeos ); |
|
187 | + $object = new \Aimeos\Controller\Jobs\Order\Service\Delivery\Standard($context, $aimeos); |
|
188 | 188 | $object->run(); |
189 | 189 | } |
190 | 190 | } |
@@ -28,7 +28,7 @@ discard block |
||
28 | 28 | */ |
29 | 29 | public function getName() |
30 | 30 | { |
31 | - return $this->getContext()->getI18n()->dt( 'controller/jobs', 'Subscription process renew' ); |
|
31 | + return $this->getContext()->getI18n()->dt('controller/jobs', 'Subscription process renew'); |
|
32 | 32 | } |
33 | 33 | |
34 | 34 | |
@@ -39,7 +39,7 @@ discard block |
||
39 | 39 | */ |
40 | 40 | public function getDescription() |
41 | 41 | { |
42 | - return $this->getContext()->getI18n()->dt( 'controller/jobs', 'Renews subscriptions at next date' ); |
|
42 | + return $this->getContext()->getI18n()->dt('controller/jobs', 'Renews subscriptions at next date'); |
|
43 | 43 | } |
44 | 44 | |
45 | 45 | |
@@ -54,73 +54,73 @@ discard block |
||
54 | 54 | $config = $context->getConfig(); |
55 | 55 | $logger = $context->getLogger(); |
56 | 56 | |
57 | - $names = (array) $config->get( 'controller/common/subscription/process/processors', [] ); |
|
57 | + $names = (array) $config->get('controller/common/subscription/process/processors', []); |
|
58 | 58 | |
59 | - $date = date( 'Y-m-d' ); |
|
60 | - $processors = $this->getProcessors( $names ); |
|
61 | - $manager = \Aimeos\MShop\Factory::createManager( $context, 'subscription' ); |
|
59 | + $date = date('Y-m-d'); |
|
60 | + $processors = $this->getProcessors($names); |
|
61 | + $manager = \Aimeos\MShop\Factory::createManager($context, 'subscription'); |
|
62 | 62 | |
63 | - $search = $manager->createSearch( true ); |
|
63 | + $search = $manager->createSearch(true); |
|
64 | 64 | $expr = [ |
65 | - $search->compare( '<=', 'subscription.datenext', $date ), |
|
66 | - $search->combine( '||', [ |
|
67 | - $search->compare( '==', 'subscription.dateend', null ), |
|
68 | - $search->compare( '>', 'subscription.dateend', $date ), |
|
69 | - ] ), |
|
65 | + $search->compare('<=', 'subscription.datenext', $date), |
|
66 | + $search->combine('||', [ |
|
67 | + $search->compare('==', 'subscription.dateend', null), |
|
68 | + $search->compare('>', 'subscription.dateend', $date), |
|
69 | + ]), |
|
70 | 70 | $search->getConditions(), |
71 | 71 | ]; |
72 | - $search->setConditions( $search->combine( '&&', $expr ) ); |
|
73 | - $search->setSortations( [$search->sort( '+', 'subscription.id' )] ); |
|
72 | + $search->setConditions($search->combine('&&', $expr)); |
|
73 | + $search->setSortations([$search->sort('+', 'subscription.id')]); |
|
74 | 74 | |
75 | 75 | $start = 0; |
76 | 76 | |
77 | 77 | do |
78 | 78 | { |
79 | - $search->setSlice( $start, 100 ); |
|
80 | - $items = $manager->searchItems( $search ); |
|
79 | + $search->setSlice($start, 100); |
|
80 | + $items = $manager->searchItems($search); |
|
81 | 81 | |
82 | - foreach( $items as $item ) |
|
82 | + foreach ($items as $item) |
|
83 | 83 | { |
84 | 84 | try |
85 | 85 | { |
86 | - $context = $this->createContext( $item->getOrderBaseId() ); |
|
87 | - $newOrder = $this->createOrderBase( $context, $item ); |
|
88 | - $newInvoice = $this->createOrderInvoice( $context, $newOrder ); |
|
86 | + $context = $this->createContext($item->getOrderBaseId()); |
|
87 | + $newOrder = $this->createOrderBase($context, $item); |
|
88 | + $newInvoice = $this->createOrderInvoice($context, $newOrder); |
|
89 | 89 | |
90 | 90 | try |
91 | 91 | { |
92 | - $this->createPayment( $context, $newOrder, $newInvoice ); |
|
92 | + $this->createPayment($context, $newOrder, $newInvoice); |
|
93 | 93 | |
94 | - $interval = new \DateInterval( $item->getInterval() ); |
|
95 | - $item->setDateNext( date_create()->add( $interval )->format( 'Y-m-d' ) ); |
|
94 | + $interval = new \DateInterval($item->getInterval()); |
|
95 | + $item->setDateNext(date_create()->add($interval)->format('Y-m-d')); |
|
96 | 96 | } |
97 | - catch( \Exception $e ) |
|
97 | + catch (\Exception $e) |
|
98 | 98 | { |
99 | - $item->setReason( \Aimeos\MShop\Subscription\Item\Iface::REASON_PAYMENT ); |
|
100 | - $item->setDateEnd( date_create()->format( 'Y-m-d' ) ); |
|
101 | - $manager->saveItem( $item ); |
|
99 | + $item->setReason(\Aimeos\MShop\Subscription\Item\Iface::REASON_PAYMENT); |
|
100 | + $item->setDateEnd(date_create()->format('Y-m-d')); |
|
101 | + $manager->saveItem($item); |
|
102 | 102 | |
103 | 103 | throw $e; |
104 | 104 | } |
105 | 105 | |
106 | - $manager->saveItem( $item ); |
|
106 | + $manager->saveItem($item); |
|
107 | 107 | |
108 | - foreach( $processors as $processor ) { |
|
109 | - $processor->renew( $item, $newInvoice ); |
|
108 | + foreach ($processors as $processor) { |
|
109 | + $processor->renew($item, $newInvoice); |
|
110 | 110 | } |
111 | 111 | } |
112 | - catch( \Exception $e ) |
|
112 | + catch (\Exception $e) |
|
113 | 113 | { |
114 | 114 | $msg = 'Unable to process subscription with ID "%1$s": %2$s'; |
115 | - $logger->log( sprintf( $msg, $item->getId(), $e->getMessage() ) ); |
|
116 | - $logger->log( $e->getTraceAsString() ); |
|
115 | + $logger->log(sprintf($msg, $item->getId(), $e->getMessage())); |
|
116 | + $logger->log($e->getTraceAsString()); |
|
117 | 117 | } |
118 | 118 | } |
119 | 119 | |
120 | - $count = count( $items ); |
|
120 | + $count = count($items); |
|
121 | 121 | $start += $count; |
122 | 122 | } |
123 | - while( $count === $search->getSliceSize() ); |
|
123 | + while ($count === $search->getSliceSize()); |
|
124 | 124 | } |
125 | 125 | |
126 | 126 | |
@@ -130,30 +130,30 @@ discard block |
||
130 | 130 | * @param string $baseId Unique order base ID |
131 | 131 | * @return \Aimeos\MShop\Context\Item\Iface New context object |
132 | 132 | */ |
133 | - protected function createContext( $baseId ) |
|
133 | + protected function createContext($baseId) |
|
134 | 134 | { |
135 | 135 | $context = clone $this->getContext(); |
136 | 136 | |
137 | - $manager = \Aimeos\MShop\Factory::createManager( $context, 'order/base' ); |
|
138 | - $baseItem = $manager->getItem( $baseId ); |
|
137 | + $manager = \Aimeos\MShop\Factory::createManager($context, 'order/base'); |
|
138 | + $baseItem = $manager->getItem($baseId); |
|
139 | 139 | |
140 | 140 | $locale = $baseItem->getLocale(); |
141 | 141 | $level = \Aimeos\MShop\Locale\Manager\Base::SITE_ALL; |
142 | 142 | |
143 | - $manager = \Aimeos\MShop\Factory::createManager( $context, 'locale' ); |
|
144 | - $locale = $manager->bootstrap( $baseItem->getSiteCode(), $locale->getLanguageId(), $locale->getCurrencyId(), false, $level ); |
|
143 | + $manager = \Aimeos\MShop\Factory::createManager($context, 'locale'); |
|
144 | + $locale = $manager->bootstrap($baseItem->getSiteCode(), $locale->getLanguageId(), $locale->getCurrencyId(), false, $level); |
|
145 | 145 | |
146 | - $context->setLocale( $locale ); |
|
146 | + $context->setLocale($locale); |
|
147 | 147 | |
148 | 148 | try |
149 | 149 | { |
150 | - $manager = \Aimeos\MShop\Factory::createManager( $context, 'customer' ); |
|
151 | - $customerItem = $manager->getItem( $baseItem->getCustomerId(), ['customer/group'] ); |
|
150 | + $manager = \Aimeos\MShop\Factory::createManager($context, 'customer'); |
|
151 | + $customerItem = $manager->getItem($baseItem->getCustomerId(), ['customer/group']); |
|
152 | 152 | |
153 | - $context->setUserId( $baseItem->getCustomerId() ); |
|
154 | - $context->setGroupIds( $customerItem->getGroups() ); |
|
153 | + $context->setUserId($baseItem->getCustomerId()); |
|
154 | + $context->setGroupIds($customerItem->getGroups()); |
|
155 | 155 | } |
156 | - catch( \Exception $e ) {} // Subscription without account |
|
156 | + catch (\Exception $e) {} // Subscription without account |
|
157 | 157 | |
158 | 158 | return $context; |
159 | 159 | } |
@@ -166,38 +166,38 @@ discard block |
||
166 | 166 | * @param \Aimeos\MShop\Subscription\Item\Iface $subscription Subscription item with order base ID and order product ID |
167 | 167 | * @return \Aimeos\MShop\Order\Item\Base\Iface Complete order with product, addresses and services saved to the storage |
168 | 168 | */ |
169 | - protected function createOrderBase( \Aimeos\MShop\Context\Item\Iface $context, \Aimeos\MShop\Subscription\Item\Iface $subscription ) |
|
169 | + protected function createOrderBase(\Aimeos\MShop\Context\Item\Iface $context, \Aimeos\MShop\Subscription\Item\Iface $subscription) |
|
170 | 170 | { |
171 | - $manager = \Aimeos\MShop\Factory::createManager( $context, 'order/base' ); |
|
171 | + $manager = \Aimeos\MShop\Factory::createManager($context, 'order/base'); |
|
172 | 172 | |
173 | - $basket = $manager->load( $subscription->getOrderBaseId() ); |
|
173 | + $basket = $manager->load($subscription->getOrderBaseId()); |
|
174 | 174 | |
175 | 175 | $newBasket = $manager->createItem(); |
176 | - $newBasket->setCustomerId( $basket->getCustomerId() ); |
|
176 | + $newBasket->setCustomerId($basket->getCustomerId()); |
|
177 | 177 | |
178 | - foreach( $basket->getProducts() as $orderProduct ) |
|
178 | + foreach ($basket->getProducts() as $orderProduct) |
|
179 | 179 | { |
180 | - if( $orderProduct->getId() === $subscription->getOrderProductId() ) |
|
180 | + if ($orderProduct->getId() === $subscription->getOrderProductId()) |
|
181 | 181 | { |
182 | - foreach( $orderProduct->getAttributeItems() as $attrItem ) { |
|
183 | - $attrItem->setId( null ); |
|
182 | + foreach ($orderProduct->getAttributeItems() as $attrItem) { |
|
183 | + $attrItem->setId(null); |
|
184 | 184 | } |
185 | - $newBasket->addProduct( $orderProduct->setId( null ) ); |
|
185 | + $newBasket->addProduct($orderProduct->setId(null)); |
|
186 | 186 | } |
187 | 187 | } |
188 | 188 | |
189 | - foreach( $basket->getAddresses() as $type => $orderAddress ) { |
|
190 | - $newBasket->setAddress( $orderAddress, $type ); |
|
189 | + foreach ($basket->getAddresses() as $type => $orderAddress) { |
|
190 | + $newBasket->setAddress($orderAddress, $type); |
|
191 | 191 | } |
192 | 192 | |
193 | - foreach( $basket->getServices() as $type => $orderServices ) |
|
193 | + foreach ($basket->getServices() as $type => $orderServices) |
|
194 | 194 | { |
195 | - foreach( $orderServices as $orderService ) { |
|
196 | - $newBasket->addService( $orderService, $type ); |
|
195 | + foreach ($orderServices as $orderService) { |
|
196 | + $newBasket->addService($orderService, $type); |
|
197 | 197 | } |
198 | 198 | } |
199 | 199 | |
200 | - return $manager->store( $newBasket ); |
|
200 | + return $manager->store($newBasket); |
|
201 | 201 | } |
202 | 202 | |
203 | 203 | |
@@ -208,15 +208,15 @@ discard block |
||
208 | 208 | * @param \Aimeos\MShop\Order\Item\Base\Iface $basket Complete order with product, addresses and services saved to the storage |
209 | 209 | * @return \Aimeos\MShop\Order\Item\Iface New invoice item associated to the order saved to the storage |
210 | 210 | */ |
211 | - protected function createOrderInvoice( \Aimeos\MShop\Context\Item\Iface $context, \Aimeos\MShop\Order\Item\Base\Iface $basket ) |
|
211 | + protected function createOrderInvoice(\Aimeos\MShop\Context\Item\Iface $context, \Aimeos\MShop\Order\Item\Base\Iface $basket) |
|
212 | 212 | { |
213 | - $manager = \Aimeos\MShop\Factory::createManager( $context, 'order' ); |
|
213 | + $manager = \Aimeos\MShop\Factory::createManager($context, 'order'); |
|
214 | 214 | |
215 | 215 | $item = $manager->createItem(); |
216 | - $item->setBaseId( $basket->getId() ); |
|
217 | - $item->setType( 'subscription' ); |
|
216 | + $item->setBaseId($basket->getId()); |
|
217 | + $item->setType('subscription'); |
|
218 | 218 | |
219 | - return $manager->saveItem( $item ); |
|
219 | + return $manager->saveItem($item); |
|
220 | 220 | } |
221 | 221 | |
222 | 222 | |
@@ -227,17 +227,17 @@ discard block |
||
227 | 227 | * @param \Aimeos\MShop\Order\Item\Base\Iface $basket Complete order with product, addresses and services |
228 | 228 | * @param \Aimeos\MShop\Order\Item\Iface New invoice item associated to the order |
229 | 229 | */ |
230 | - protected function createPayment( \Aimeos\MShop\Context\Item\Iface $context, \Aimeos\MShop\Order\Item\Base\Iface $basket, |
|
231 | - \Aimeos\MShop\Order\Item\Iface $invoice ) |
|
230 | + protected function createPayment(\Aimeos\MShop\Context\Item\Iface $context, \Aimeos\MShop\Order\Item\Base\Iface $basket, |
|
231 | + \Aimeos\MShop\Order\Item\Iface $invoice) |
|
232 | 232 | { |
233 | - $manager = \Aimeos\MShop\Factory::createManager( $context, 'service' ); |
|
233 | + $manager = \Aimeos\MShop\Factory::createManager($context, 'service'); |
|
234 | 234 | |
235 | - foreach( $basket->getService( \Aimeos\MShop\Order\Item\Base\Service\Base::TYPE_PAYMENT ) as $service ) |
|
235 | + foreach ($basket->getService(\Aimeos\MShop\Order\Item\Base\Service\Base::TYPE_PAYMENT) as $service) |
|
236 | 236 | { |
237 | - $item = $manager->getItem( $service->getServiceId() ); |
|
238 | - $provider = $manager->getProvider( $item, 'payment' ); |
|
237 | + $item = $manager->getItem($service->getServiceId()); |
|
238 | + $provider = $manager->getProvider($item, 'payment'); |
|
239 | 239 | |
240 | - $provider->repay( $invoice ); |
|
240 | + $provider->repay($invoice); |
|
241 | 241 | } |
242 | 242 | } |
243 | 243 | } |
@@ -93,8 +93,7 @@ discard block |
||
93 | 93 | |
94 | 94 | $interval = new \DateInterval( $item->getInterval() ); |
95 | 95 | $item->setDateNext( date_create()->add( $interval )->format( 'Y-m-d' ) ); |
96 | - } |
|
97 | - catch( \Exception $e ) |
|
96 | + } catch( \Exception $e ) |
|
98 | 97 | { |
99 | 98 | $item->setReason( \Aimeos\MShop\Subscription\Item\Iface::REASON_PAYMENT ); |
100 | 99 | $item->setDateEnd( date_create()->format( 'Y-m-d' ) ); |
@@ -108,8 +107,7 @@ discard block |
||
108 | 107 | foreach( $processors as $processor ) { |
109 | 108 | $processor->renew( $item, $newInvoice ); |
110 | 109 | } |
111 | - } |
|
112 | - catch( \Exception $e ) |
|
110 | + } catch( \Exception $e ) |
|
113 | 111 | { |
114 | 112 | $msg = 'Unable to process subscription with ID "%1$s": %2$s'; |
115 | 113 | $logger->log( sprintf( $msg, $item->getId(), $e->getMessage() ) ); |
@@ -152,8 +150,7 @@ discard block |
||
152 | 150 | |
153 | 151 | $context->setUserId( $baseItem->getCustomerId() ); |
154 | 152 | $context->setGroupIds( $customerItem->getGroups() ); |
155 | - } |
|
156 | - catch( \Exception $e ) {} // Subscription without account |
|
153 | + } catch( \Exception $e ) {} // Subscription without account |
|
157 | 154 | |
158 | 155 | return $context; |
159 | 156 | } |
@@ -29,7 +29,7 @@ discard block |
||
29 | 29 | */ |
30 | 30 | public function getName() |
31 | 31 | { |
32 | - return $this->getContext()->getI18n()->dt( 'controller/jobs', 'Process order delivery services' ); |
|
32 | + return $this->getContext()->getI18n()->dt('controller/jobs', 'Process order delivery services'); |
|
33 | 33 | } |
34 | 34 | |
35 | 35 | |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | */ |
41 | 41 | public function getDescription() |
42 | 42 | { |
43 | - return $this->getContext()->getI18n()->dt( 'controller/jobs', 'Sends paid orders to the ERP system or logistic partner' ); |
|
43 | + return $this->getContext()->getI18n()->dt('controller/jobs', 'Sends paid orders to the ERP system or logistic partner'); |
|
44 | 44 | } |
45 | 45 | |
46 | 46 | |
@@ -69,8 +69,8 @@ discard block |
||
69 | 69 | * @see controller/jobs/order/email/delivery/standard/limit-days |
70 | 70 | * @see controller/jobs/order/service/delivery/batch-max |
71 | 71 | */ |
72 | - $days = $context->getConfig()->get( 'controller/jobs/order/service/delivery/limit-days', 90 ); |
|
73 | - $date = date( 'Y-m-d 00:00:00', time() - 86400 * $days ); |
|
72 | + $days = $context->getConfig()->get('controller/jobs/order/service/delivery/limit-days', 90); |
|
73 | + $date = date('Y-m-d 00:00:00', time() - 86400 * $days); |
|
74 | 74 | |
75 | 75 | /** controller/jobs/order/service/delivery/batch-max |
76 | 76 | * Maximum number of orders processed at once by the delivery service provider |
@@ -85,71 +85,71 @@ discard block |
||
85 | 85 | * @category Developer |
86 | 86 | * @see controller/jobs/order/service/delivery/limit-days |
87 | 87 | */ |
88 | - $maxItems = $context->getConfig()->get( 'controller/jobs/order/service/delivery/batch-max', 100 ); |
|
88 | + $maxItems = $context->getConfig()->get('controller/jobs/order/service/delivery/batch-max', 100); |
|
89 | 89 | |
90 | 90 | |
91 | - $serviceManager = \Aimeos\MShop\Service\Manager\Factory::createManager( $context ); |
|
91 | + $serviceManager = \Aimeos\MShop\Service\Manager\Factory::createManager($context); |
|
92 | 92 | $serviceSearch = $serviceManager->createSearch(); |
93 | - $serviceSearch->setConditions( $serviceSearch->compare( '==', 'service.type.code', 'delivery' ) ); |
|
93 | + $serviceSearch->setConditions($serviceSearch->compare('==', 'service.type.code', 'delivery')); |
|
94 | 94 | |
95 | - $orderManager = \Aimeos\MShop\Order\Manager\Factory::createManager( $context ); |
|
95 | + $orderManager = \Aimeos\MShop\Order\Manager\Factory::createManager($context); |
|
96 | 96 | $orderSearch = $orderManager->createSearch(); |
97 | 97 | |
98 | 98 | $start = 0; |
99 | 99 | |
100 | 100 | do |
101 | 101 | { |
102 | - $serviceItems = $serviceManager->searchItems( $serviceSearch ); |
|
102 | + $serviceItems = $serviceManager->searchItems($serviceSearch); |
|
103 | 103 | |
104 | - foreach( $serviceItems as $serviceItem ) |
|
104 | + foreach ($serviceItems as $serviceItem) |
|
105 | 105 | { |
106 | 106 | try |
107 | 107 | { |
108 | - $serviceProvider = $serviceManager->getProvider( $serviceItem, $serviceItem->getType() ); |
|
108 | + $serviceProvider = $serviceManager->getProvider($serviceItem, $serviceItem->getType()); |
|
109 | 109 | |
110 | 110 | $expr = array( |
111 | - $orderSearch->compare( '>', 'order.datepayment', $date ), |
|
112 | - $orderSearch->compare( '>', 'order.statuspayment', \Aimeos\MShop\Order\Item\Base::PAY_PENDING ), |
|
113 | - $orderSearch->compare( '==', 'order.statusdelivery', \Aimeos\MShop\Order\Item\Base::STAT_UNFINISHED ), |
|
114 | - $orderSearch->compare( '==', 'order.base.service.code', $serviceItem->getCode() ), |
|
115 | - $orderSearch->compare( '==', 'order.base.service.type', 'delivery' ), |
|
111 | + $orderSearch->compare('>', 'order.datepayment', $date), |
|
112 | + $orderSearch->compare('>', 'order.statuspayment', \Aimeos\MShop\Order\Item\Base::PAY_PENDING), |
|
113 | + $orderSearch->compare('==', 'order.statusdelivery', \Aimeos\MShop\Order\Item\Base::STAT_UNFINISHED), |
|
114 | + $orderSearch->compare('==', 'order.base.service.code', $serviceItem->getCode()), |
|
115 | + $orderSearch->compare('==', 'order.base.service.type', 'delivery'), |
|
116 | 116 | ); |
117 | - $orderSearch->setConditions( $orderSearch->combine( '&&', $expr ) ); |
|
117 | + $orderSearch->setConditions($orderSearch->combine('&&', $expr)); |
|
118 | 118 | |
119 | 119 | $orderStart = 0; |
120 | 120 | |
121 | 121 | do |
122 | 122 | { |
123 | - $orderSearch->setSlice( $orderStart, $maxItems ); |
|
124 | - $orderItems = $orderManager->searchItems( $orderSearch ); |
|
123 | + $orderSearch->setSlice($orderStart, $maxItems); |
|
124 | + $orderItems = $orderManager->searchItems($orderSearch); |
|
125 | 125 | |
126 | 126 | try |
127 | 127 | { |
128 | - $serviceProvider->processBatch( $orderItems ); |
|
129 | - $orderManager->saveItems( $orderItems ); |
|
128 | + $serviceProvider->processBatch($orderItems); |
|
129 | + $orderManager->saveItems($orderItems); |
|
130 | 130 | } |
131 | - catch( \Exception $e ) |
|
131 | + catch (\Exception $e) |
|
132 | 132 | { |
133 | 133 | $str = 'Error while processing orders: %2$s'; |
134 | - $context->getLogger()->log( sprintf( $str, $e->getMessage() ) ); |
|
134 | + $context->getLogger()->log(sprintf($str, $e->getMessage())); |
|
135 | 135 | } |
136 | 136 | |
137 | - $orderCount = count( $orderItems ); |
|
137 | + $orderCount = count($orderItems); |
|
138 | 138 | $orderStart += $orderCount; |
139 | 139 | } |
140 | - while( $orderCount >= $orderSearch->getSliceSize() ); |
|
140 | + while ($orderCount >= $orderSearch->getSliceSize()); |
|
141 | 141 | } |
142 | - catch( \Exception $e ) |
|
142 | + catch (\Exception $e) |
|
143 | 143 | { |
144 | 144 | $str = 'Error while processing service with ID "%1$s": %2$s'; |
145 | - $context->getLogger()->log( sprintf( $str, $serviceItem->getId(), $e->getMessage() ) ); |
|
145 | + $context->getLogger()->log(sprintf($str, $serviceItem->getId(), $e->getMessage())); |
|
146 | 146 | } |
147 | 147 | } |
148 | 148 | |
149 | - $count = count( $serviceItems ); |
|
149 | + $count = count($serviceItems); |
|
150 | 150 | $start += $count; |
151 | - $serviceSearch->setSlice( $start ); |
|
151 | + $serviceSearch->setSlice($start); |
|
152 | 152 | } |
153 | - while( $count >= $serviceSearch->getSliceSize() ); |
|
153 | + while ($count >= $serviceSearch->getSliceSize()); |
|
154 | 154 | } |
155 | 155 | } |
@@ -127,8 +127,7 @@ discard block |
||
127 | 127 | { |
128 | 128 | $serviceProvider->processBatch( $orderItems ); |
129 | 129 | $orderManager->saveItems( $orderItems ); |
130 | - } |
|
131 | - catch( \Exception $e ) |
|
130 | + } catch( \Exception $e ) |
|
132 | 131 | { |
133 | 132 | $str = 'Error while processing orders: %2$s'; |
134 | 133 | $context->getLogger()->log( sprintf( $str, $e->getMessage() ) ); |
@@ -138,8 +137,7 @@ discard block |
||
138 | 137 | $orderStart += $orderCount; |
139 | 138 | } |
140 | 139 | while( $orderCount >= $orderSearch->getSliceSize() ); |
141 | - } |
|
142 | - catch( \Exception $e ) |
|
140 | + } catch( \Exception $e ) |
|
143 | 141 | { |
144 | 142 | $str = 'Error while processing service with ID "%1$s": %2$s'; |
145 | 143 | $context->getLogger()->log( sprintf( $str, $serviceItem->getId(), $e->getMessage() ) ); |