@@ -11,8 +11,9 @@ discard block |
||
11 | 11 | */ |
12 | 12 | public static function registerWrapper() |
13 | 13 | { |
14 | - if (!self::$registered) |
|
15 | - stream_wrapper_register('compress.lzw', __CLASS__); |
|
14 | + if (!self::$registered) { |
|
15 | + stream_wrapper_register('compress.lzw', __CLASS__); |
|
16 | + } |
|
16 | 17 | self::$registered = true; |
17 | 18 | } |
18 | 19 | |
@@ -43,12 +44,14 @@ discard block |
||
43 | 44 | { |
44 | 45 | // check for compress & uncompress utility |
45 | 46 | $this->checkBinary(); |
46 | - if (self::$installed === false) |
|
47 | - throw new \Exception('compress and uncompress commands are required'); |
|
47 | + if (self::$installed === false) { |
|
48 | + throw new \Exception('compress and uncompress commands are required'); |
|
49 | + } |
|
48 | 50 | |
49 | 51 | $schema = 'compress.lzw://'; |
50 | - if (strncasecmp($schema, $path, strlen($schema)) == 0) |
|
51 | - $path = substr($path, strlen($schema)); |
|
52 | + if (strncasecmp($schema, $path, strlen($schema)) == 0) { |
|
53 | + $path = substr($path, strlen($schema)); |
|
54 | + } |
|
52 | 55 | |
53 | 56 | if (file_exists($path)) { |
54 | 57 | $this->path = realpath($path); |
@@ -62,14 +65,16 @@ discard block |
||
62 | 65 | $this->read(); |
63 | 66 | } else { |
64 | 67 | $prefix = basename(__FILE__, '.php'); |
65 | - if (($tmp = tempnam(sys_get_temp_dir(), $prefix)) === false) |
|
66 | - throw new \Exception(__CLASS__.', line '.__LINE__. |
|
68 | + if (($tmp = tempnam(sys_get_temp_dir(), $prefix)) === false) { |
|
69 | + throw new \Exception(__CLASS__.', line '.__LINE__. |
|
67 | 70 | ': Could not create temporary file in '. |
68 | 71 | sys_get_temp_dir()); |
69 | - if (($tmp2 = tempnam(sys_get_temp_dir(), $prefix)) === false) |
|
70 | - throw new \Exception(__CLASS__.', line '.__LINE__. |
|
72 | + } |
|
73 | + if (($tmp2 = tempnam(sys_get_temp_dir(), $prefix)) === false) { |
|
74 | + throw new \Exception(__CLASS__.', line '.__LINE__. |
|
71 | 75 | ': Could not create temporary file in '. |
72 | 76 | sys_get_temp_dir()); |
77 | + } |
|
73 | 78 | $this->tmp = $tmp; |
74 | 79 | $this->tmp2 = $tmp2; |
75 | 80 | $this->read(); |
@@ -78,14 +83,16 @@ discard block |
||
78 | 83 | $this->path = $path; |
79 | 84 | if (self::$forceTmpFile) { |
80 | 85 | $prefix = basename(__FILE__, '.php'); |
81 | - if (($tmp = tempnam(sys_get_temp_dir(), $prefix)) === false) |
|
82 | - throw new \Exception(__CLASS__.', line '.__LINE__. |
|
86 | + if (($tmp = tempnam(sys_get_temp_dir(), $prefix)) === false) { |
|
87 | + throw new \Exception(__CLASS__.', line '.__LINE__. |
|
83 | 88 | ': Could not create temporary file in '. |
84 | 89 | sys_get_temp_dir()); |
85 | - if (($tmp2 = tempnam(sys_get_temp_dir(), $prefix)) === false) |
|
86 | - throw new \Exception(__CLASS__.', line '.__LINE__. |
|
90 | + } |
|
91 | + if (($tmp2 = tempnam(sys_get_temp_dir(), $prefix)) === false) { |
|
92 | + throw new \Exception(__CLASS__.', line '.__LINE__. |
|
87 | 93 | ': Could not create temporary file in '. |
88 | 94 | sys_get_temp_dir()); |
95 | + } |
|
89 | 96 | $this->tmp = $tmp; |
90 | 97 | $this->tmp2 = $tmp2; |
91 | 98 | $this->pointer = 0; |
@@ -266,7 +273,9 @@ discard block |
||
266 | 273 | } |
267 | 274 | if ($this->tmp !== null) { |
268 | 275 | unlink($this->tmp); |
269 | - if (file_exists($this->tmp2)) unlink($this->tmp2); |
|
276 | + if (file_exists($this->tmp2)) { |
|
277 | + unlink($this->tmp2); |
|
278 | + } |
|
270 | 279 | } else { |
271 | 280 | $this->data = null; |
272 | 281 | } |
@@ -132,8 +132,11 @@ discard block |
||
132 | 132 | */ |
133 | 133 | public function create($content) |
134 | 134 | { |
135 | - if (is_array($content)) $paths_list = $content; |
|
136 | - else $paths_list = explode(',', $content); |
|
135 | + if (is_array($content)) { |
|
136 | + $paths_list = $content; |
|
137 | + } else { |
|
138 | + $paths_list = explode(',', $content); |
|
139 | + } |
|
137 | 140 | $report = array(); |
138 | 141 | |
139 | 142 | $options = func_get_args(); |
@@ -155,29 +158,41 @@ discard block |
||
155 | 158 | // filters initiation |
156 | 159 | $filters = array(); |
157 | 160 | if (isset($options[PCLZIP_OPT_REMOVE_PATH]) |
158 | - && !isset($options[PCLZIP_OPT_REMOVE_ALL_PATH])) |
|
159 | - $filters[] = function (&$key, &$value) use ($options) { |
|
160 | - $key = str_replace($key, null, $key); }; |
|
161 | - if (isset($options[PCLZIP_OPT_REMOVE_ALL_PATH])) |
|
162 | - $filters[] = function (&$key, &$value) { $key = basename($key); }; |
|
163 | - if (isset($options[PCLZIP_OPT_ADD_PATH])) |
|
164 | - $filters[] = function (&$key, &$value) use ($options) { |
|
161 | + && !isset($options[PCLZIP_OPT_REMOVE_ALL_PATH])) { |
|
162 | + $filters[] = function (&$key, &$value) use ($options) { |
|
163 | + $key = str_replace($key, null, $key); |
|
164 | + } |
|
165 | + }; |
|
166 | + if (isset($options[PCLZIP_OPT_REMOVE_ALL_PATH])) { |
|
167 | + $filters[] = function (&$key, &$value) { $key = basename($key); |
|
168 | + } |
|
169 | + }; |
|
170 | + if (isset($options[PCLZIP_OPT_ADD_PATH])) { |
|
171 | + $filters[] = function (&$key, &$value) use ($options) { |
|
165 | 172 | $key = rtrim($options[PCLZIP_OPT_ADD_PATH], '/').'/'. |
166 | 173 | ltrim($key, '/'); |
174 | + } |
|
167 | 175 | }; |
168 | 176 | |
169 | 177 | if (isset($options[PCLZIP_CB_PRE_ADD]) |
170 | - && is_callable($options[PCLZIP_CB_PRE_ADD])) |
|
171 | - $preAddCallback = $options[PCLZIP_CB_PRE_ADD]; |
|
172 | - else $preAddCallback = function () { return 1; }; |
|
178 | + && is_callable($options[PCLZIP_CB_PRE_ADD])) { |
|
179 | + $preAddCallback = $options[PCLZIP_CB_PRE_ADD]; |
|
180 | + } else { |
|
181 | + $preAddCallback = function () { return 1; |
|
182 | + } |
|
183 | + }; |
|
173 | 184 | |
174 | 185 | if (isset($options[PCLZIP_CB_POST_ADD]) |
175 | - && is_callable($options[PCLZIP_CB_POST_ADD])) |
|
176 | - $postAddCallback = $options[PCLZIP_CB_POST_ADD]; |
|
177 | - else $postAddCallback = function () { return 1; }; |
|
186 | + && is_callable($options[PCLZIP_CB_POST_ADD])) { |
|
187 | + $postAddCallback = $options[PCLZIP_CB_POST_ADD]; |
|
188 | + } else { |
|
189 | + $postAddCallback = function () { return 1; |
|
190 | + } |
|
191 | + }; |
|
178 | 192 | |
179 | - if (isset($options[PCLZIP_OPT_COMMENT])) |
|
180 | - $this->archive->setArchiveComment($options[PCLZIP_OPT_COMMENT]); |
|
193 | + if (isset($options[PCLZIP_OPT_COMMENT])) { |
|
194 | + $this->archive->setArchiveComment($options[PCLZIP_OPT_COMMENT]); |
|
195 | + } |
|
181 | 196 | |
182 | 197 | // scan filesystem for files list |
183 | 198 | $files_list = array(); |
@@ -208,20 +223,23 @@ discard block |
||
208 | 223 | // apply filters to a file |
209 | 224 | $localname = $file_to_add; |
210 | 225 | $filename = $file_to_add; |
211 | - foreach ($filters as $filter) |
|
212 | - call_user_func($filter, $localname, $filename); |
|
226 | + foreach ($filters as $filter) { |
|
227 | + call_user_func($filter, $localname, $filename); |
|
228 | + } |
|
213 | 229 | $file_header = $this->createFileHeader($localname, $filename); |
214 | 230 | if (call_user_func($preAddCallback, $file_header) == 1) { |
215 | 231 | // |
216 | 232 | // Check for max length > 255 |
217 | 233 | // |
218 | - if (strlen(basename($file_header->stored_filename)) > 255) |
|
219 | - $file_header->status = 'filename_too_long'; |
|
220 | - if (is_file($filename)) |
|
221 | - $this->archive->addFile($file_header->filename, |
|
234 | + if (strlen(basename($file_header->stored_filename)) > 255) { |
|
235 | + $file_header->status = 'filename_too_long'; |
|
236 | + } |
|
237 | + if (is_file($filename)) { |
|
238 | + $this->archive->addFile($file_header->filename, |
|
222 | 239 | $file_header->stored_filename); |
223 | - else if (is_dir($filename)) |
|
224 | - $this->archive->addEmptyDir($file_header->stored_filename); |
|
240 | + } else if (is_dir($filename)) { |
|
241 | + $this->archive->addEmptyDir($file_header->stored_filename); |
|
242 | + } |
|
225 | 243 | } else { |
226 | 244 | // |
227 | 245 | // File was skipped |
@@ -285,40 +303,53 @@ discard block |
||
285 | 303 | } |
286 | 304 | |
287 | 305 | // filters initiation |
288 | - if (isset($options[PCLZIP_OPT_PATH])) |
|
289 | - $extractPath = rtrim($options[PCLZIP_OPT_PATH], '/'); |
|
290 | - else $extractPath = rtrim(getcwd(), '/'); |
|
306 | + if (isset($options[PCLZIP_OPT_PATH])) { |
|
307 | + $extractPath = rtrim($options[PCLZIP_OPT_PATH], '/'); |
|
308 | + } else { |
|
309 | + $extractPath = rtrim(getcwd(), '/'); |
|
310 | + } |
|
291 | 311 | |
292 | 312 | $filters = array(); |
293 | 313 | if (isset($options[PCLZIP_OPT_REMOVE_PATH]) |
294 | - && !isset($options[PCLZIP_OPT_REMOVE_ALL_PATH])) |
|
295 | - $filters[] = function (&$key, &$value) use ($options) { |
|
314 | + && !isset($options[PCLZIP_OPT_REMOVE_ALL_PATH])) { |
|
315 | + $filters[] = function (&$key, &$value) use ($options) { |
|
296 | 316 | $key = str_replace($key, null, $key); |
317 | + } |
|
297 | 318 | }; |
298 | - if (isset($options[PCLZIP_OPT_REMOVE_ALL_PATH])) |
|
299 | - $filters[] = function (&$key, &$value) { $key = basename($key); }; |
|
300 | - if (isset($options[PCLZIP_OPT_ADD_PATH])) |
|
301 | - $filters[] = function (&$key, &$value) use ($options) { |
|
319 | + if (isset($options[PCLZIP_OPT_REMOVE_ALL_PATH])) { |
|
320 | + $filters[] = function (&$key, &$value) { $key = basename($key); |
|
321 | + } |
|
322 | + }; |
|
323 | + if (isset($options[PCLZIP_OPT_ADD_PATH])) { |
|
324 | + $filters[] = function (&$key, &$value) use ($options) { |
|
302 | 325 | $key = rtrim($options[PCLZIP_OPT_ADD_PATH], '/').'/'. |
303 | 326 | ltrim($key, '/'); |
327 | + } |
|
304 | 328 | }; |
305 | 329 | |
306 | 330 | if (isset($options[PCLZIP_CB_PRE_EXTRACT]) |
307 | - && is_callable($options[PCLZIP_CB_PRE_EXTRACT])) |
|
308 | - $preExtractCallback = $options[PCLZIP_CB_PRE_EXTRACT]; |
|
309 | - else $preExtractCallback = function () { return 1; }; |
|
331 | + && is_callable($options[PCLZIP_CB_PRE_EXTRACT])) { |
|
332 | + $preExtractCallback = $options[PCLZIP_CB_PRE_EXTRACT]; |
|
333 | + } else { |
|
334 | + $preExtractCallback = function () { return 1; |
|
335 | + } |
|
336 | + }; |
|
310 | 337 | |
311 | 338 | if (isset($options[PCLZIP_CB_POST_EXTRACT]) |
312 | - && is_callable($options[PCLZIP_CB_POST_EXTRACT])) |
|
313 | - $postExtractCallback = $options[PCLZIP_CB_POST_EXTRACT]; |
|
314 | - else $postExtractCallback = function () { return 1; }; |
|
339 | + && is_callable($options[PCLZIP_CB_POST_EXTRACT])) { |
|
340 | + $postExtractCallback = $options[PCLZIP_CB_POST_EXTRACT]; |
|
341 | + } else { |
|
342 | + $postExtractCallback = function () { return 1; |
|
343 | + } |
|
344 | + }; |
|
315 | 345 | |
316 | 346 | // exact matching |
317 | - if (isset($options[PCLZIP_OPT_BY_NAME])) |
|
318 | - $selectFilter = function ($key, $value) use ($options) { |
|
347 | + if (isset($options[PCLZIP_OPT_BY_NAME])) { |
|
348 | + $selectFilter = function ($key, $value) use ($options) { |
|
319 | 349 | $allowedNames = is_array($options[PCLZIP_OPT_BY_NAME]) |
320 | 350 | ? $options[PCLZIP_OPT_BY_NAME] |
321 | 351 | : explode(',', $options[PCLZIP_OPT_BY_NAME]); |
352 | + } |
|
322 | 353 | foreach ($allowedNames as $name) { |
323 | 354 | // select directory with nested files |
324 | 355 | if (in_array(substr($name, -1), array('/', '\\'))) { |
@@ -339,50 +370,64 @@ discard block |
||
339 | 370 | return self::SELECT_FILTER_REFUSE; |
340 | 371 | }; |
341 | 372 | // <ereg> rule |
342 | - else if (isset($options[PCLZIP_OPT_BY_EREG]) && function_exists('ereg')) |
|
343 | - $selectFilter = function ($key, $value) use ($options) { |
|
373 | + else if (isset($options[PCLZIP_OPT_BY_EREG]) && function_exists('ereg')) { |
|
374 | + $selectFilter = function ($key, $value) use ($options) { |
|
344 | 375 | return (ereg($options[PCLZIP_OPT_BY_EREG], $key) !== false) |
345 | 376 | ? self::SELECT_FILTER_PASS |
346 | 377 | : self::SELECT_FILTER_REFUSE; |
378 | + } |
|
347 | 379 | }; |
348 | 380 | // <preg_match> rule |
349 | - else if (isset($options[PCLZIP_OPT_BY_PREG])) |
|
350 | - $selectFilter = function ($key, $value) use ($options) { |
|
381 | + else if (isset($options[PCLZIP_OPT_BY_PREG])) { |
|
382 | + $selectFilter = function ($key, $value) use ($options) { |
|
351 | 383 | return preg_match($options[PCLZIP_OPT_BY_PREG], $key) |
352 | 384 | ? self::SELECT_FILTER_PASS |
353 | 385 | : self::SELECT_FILTER_REFUSE; |
386 | + } |
|
354 | 387 | }; |
355 | 388 | // index rule |
356 | - else if (isset($options[PCLZIP_OPT_BY_INDEX])) |
|
357 | - $selectFilter = function ($key, $value, $index) use ($options) { |
|
389 | + else if (isset($options[PCLZIP_OPT_BY_INDEX])) { |
|
390 | + $selectFilter = function ($key, $value, $index) use ($options) { |
|
358 | 391 | $allowedIndexes = array(); |
392 | + } |
|
359 | 393 | foreach ($options[PCLZIP_OPT_BY_INDEX] as $rule) { |
360 | 394 | $parts = explode('-', $rule); |
361 | - if (count($parts) == 1) $allowedIndexes[] = $rule; |
|
362 | - else $allowedIndexes = array_merge( |
|
395 | + if (count($parts) == 1) { |
|
396 | + $allowedIndexes[] = $rule; |
|
397 | + } else { |
|
398 | + $allowedIndexes = array_merge( |
|
363 | 399 | range($parts[0], $parts[1]), $allowedIndexes); |
400 | + } |
|
364 | 401 | } |
365 | 402 | |
366 | 403 | return in_array($index, $allowedIndexes) ? self::SELECT_FILTER_PASS |
367 | 404 | : self::SELECT_FILTER_REFUSE; |
368 | 405 | }; |
369 | 406 | // no rule |
370 | - else |
|
371 | - $selectFilter = function () { return self::SELECT_FILTER_PASS; }; |
|
407 | + else { |
|
408 | + $selectFilter = function () { return self::SELECT_FILTER_PASS; |
|
409 | + } |
|
410 | + }; |
|
372 | 411 | |
373 | - if (isset($options[PCLZIP_OPT_EXTRACT_AS_STRING])) |
|
374 | - $anotherOutputFormat = PCLZIP_OPT_EXTRACT_AS_STRING; |
|
375 | - else if (isset($options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) |
|
376 | - $anotherOutputFormat = PCLZIP_OPT_EXTRACT_IN_OUTPUT; |
|
377 | - else $anotherOutputFormat = false; |
|
412 | + if (isset($options[PCLZIP_OPT_EXTRACT_AS_STRING])) { |
|
413 | + $anotherOutputFormat = PCLZIP_OPT_EXTRACT_AS_STRING; |
|
414 | + } else if (isset($options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) { |
|
415 | + $anotherOutputFormat = PCLZIP_OPT_EXTRACT_IN_OUTPUT; |
|
416 | + } else { |
|
417 | + $anotherOutputFormat = false; |
|
418 | + } |
|
378 | 419 | |
379 | - if (isset($options[PCLZIP_OPT_REPLACE_NEWER])) |
|
380 | - $doNotReplaceNewer = false; |
|
381 | - else $doNotReplaceNewer = true; |
|
420 | + if (isset($options[PCLZIP_OPT_REPLACE_NEWER])) { |
|
421 | + $doNotReplaceNewer = false; |
|
422 | + } else { |
|
423 | + $doNotReplaceNewer = true; |
|
424 | + } |
|
382 | 425 | |
383 | - if (isset($options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION])) |
|
384 | - $restrictExtractDir = $options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION]; |
|
385 | - else $restrictExtractDir = false; |
|
426 | + if (isset($options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION])) { |
|
427 | + $restrictExtractDir = $options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION]; |
|
428 | + } else { |
|
429 | + $restrictExtractDir = false; |
|
430 | + } |
|
386 | 431 | |
387 | 432 | $report = array(); |
388 | 433 | foreach ($this->listContent() as $file_header) { |
@@ -452,8 +497,10 @@ discard block |
||
452 | 497 | // extract content |
453 | 498 | else if ($anotherOutputFormat === false) { |
454 | 499 | // apply path filters |
455 | - foreach ($filters as $filter) call_user_func($filter, |
|
500 | + foreach ($filters as $filter) { |
|
501 | + call_user_func($filter, |
|
456 | 502 | $file_header->stored_filename, $file_header->filename); |
503 | + } |
|
457 | 504 | // dir extraction process |
458 | 505 | if ($file_header->folder) { |
459 | 506 | // if dir doesn't exist |
@@ -545,8 +592,11 @@ discard block |
||
545 | 592 | */ |
546 | 593 | public function add($content) |
547 | 594 | { |
548 | - if (is_array($content)) $paths_list = $content; |
|
549 | - else $paths_list = array_map(explode(',', $content)); |
|
595 | + if (is_array($content)) { |
|
596 | + $paths_list = $content; |
|
597 | + } else { |
|
598 | + $paths_list = array_map(explode(',', $content)); |
|
599 | + } |
|
550 | 600 | $report = array(); |
551 | 601 | |
552 | 602 | $options = func_get_args(); |
@@ -568,30 +618,41 @@ discard block |
||
568 | 618 | // filters initiation |
569 | 619 | $filters = array(); |
570 | 620 | if (isset($options[PCLZIP_OPT_REMOVE_PATH]) |
571 | - && !isset($options[PCLZIP_OPT_REMOVE_ALL_PATH])) |
|
572 | - $filters[] = function (&$key, &$value) use ($options) { |
|
621 | + && !isset($options[PCLZIP_OPT_REMOVE_ALL_PATH])) { |
|
622 | + $filters[] = function (&$key, &$value) use ($options) { |
|
573 | 623 | $key = str_replace($key, null, $key); |
624 | + } |
|
574 | 625 | }; |
575 | - if (isset($options[PCLZIP_OPT_REMOVE_ALL_PATH])) |
|
576 | - $filters[] = function (&$key, &$value) { $key = basename($key); }; |
|
577 | - if (isset($options[PCLZIP_OPT_ADD_PATH])) |
|
578 | - $filters[] = function (&$key, &$value) use ($options) { |
|
626 | + if (isset($options[PCLZIP_OPT_REMOVE_ALL_PATH])) { |
|
627 | + $filters[] = function (&$key, &$value) { $key = basename($key); |
|
628 | + } |
|
629 | + }; |
|
630 | + if (isset($options[PCLZIP_OPT_ADD_PATH])) { |
|
631 | + $filters[] = function (&$key, &$value) use ($options) { |
|
579 | 632 | $key = rtrim($options[PCLZIP_OPT_ADD_PATH], '/').'/'. |
580 | 633 | ltrim($key, '/'); |
634 | + } |
|
581 | 635 | }; |
582 | 636 | |
583 | 637 | if (isset($options[PCLZIP_CB_PRE_ADD]) |
584 | - && is_callable($options[PCLZIP_CB_PRE_ADD])) |
|
585 | - $preAddCallback = $options[PCLZIP_CB_PRE_ADD]; |
|
586 | - else $preAddCallback = function () { return 1; }; |
|
638 | + && is_callable($options[PCLZIP_CB_PRE_ADD])) { |
|
639 | + $preAddCallback = $options[PCLZIP_CB_PRE_ADD]; |
|
640 | + } else { |
|
641 | + $preAddCallback = function () { return 1; |
|
642 | + } |
|
643 | + }; |
|
587 | 644 | |
588 | 645 | if (isset($options[PCLZIP_CB_POST_ADD]) |
589 | - && is_callable($options[PCLZIP_CB_POST_ADD])) |
|
590 | - $postAddCallback = $options[PCLZIP_CB_POST_ADD]; |
|
591 | - else $postAddCallback = function () { return 1; }; |
|
646 | + && is_callable($options[PCLZIP_CB_POST_ADD])) { |
|
647 | + $postAddCallback = $options[PCLZIP_CB_POST_ADD]; |
|
648 | + } else { |
|
649 | + $postAddCallback = function () { return 1; |
|
650 | + } |
|
651 | + }; |
|
592 | 652 | |
593 | - if (isset($options[PCLZIP_OPT_COMMENT])) |
|
594 | - $this->archive->setArchiveComment($options[PCLZIP_OPT_COMMENT]); |
|
653 | + if (isset($options[PCLZIP_OPT_COMMENT])) { |
|
654 | + $this->archive->setArchiveComment($options[PCLZIP_OPT_COMMENT]); |
|
655 | + } |
|
595 | 656 | if (isset($options[PCLZIP_OPT_ADD_COMMENT])) { |
596 | 657 | $comment = |
597 | 658 | ($comment = $this->archive->getArchiveComment() !== false) |
@@ -645,11 +706,12 @@ discard block |
||
645 | 706 | ); |
646 | 707 | |
647 | 708 | // exact matching |
648 | - if (isset($options[PCLZIP_OPT_BY_NAME])) |
|
649 | - $selectFilter = function ($key, $value) use ($options) { |
|
709 | + if (isset($options[PCLZIP_OPT_BY_NAME])) { |
|
710 | + $selectFilter = function ($key, $value) use ($options) { |
|
650 | 711 | $allowedNames = is_array($options[PCLZIP_OPT_BY_NAME]) |
651 | 712 | ? $options[PCLZIP_OPT_BY_NAME] |
652 | 713 | : explode(',', $options[PCLZIP_OPT_BY_NAME]); |
714 | + } |
|
653 | 715 | foreach ($allowedNames as $name) { |
654 | 716 | // select directory with nested files |
655 | 717 | if (in_array(substr($name, -1), array('/', '\\'))) { |
@@ -670,28 +732,34 @@ discard block |
||
670 | 732 | return self::SELECT_FILTER_REFUSE; |
671 | 733 | }; |
672 | 734 | // <ereg> rule |
673 | - else if (isset($options[PCLZIP_OPT_BY_EREG]) && function_exists('ereg')) |
|
674 | - $selectFilter = function ($key, $value) use ($options) { |
|
735 | + else if (isset($options[PCLZIP_OPT_BY_EREG]) && function_exists('ereg')) { |
|
736 | + $selectFilter = function ($key, $value) use ($options) { |
|
675 | 737 | return (ereg($options[PCLZIP_OPT_BY_EREG], $key) !== false) |
676 | 738 | ? self::SELECT_FILTER_PASS |
677 | 739 | : self::SELECT_FILTER_REFUSE; |
740 | + } |
|
678 | 741 | }; |
679 | 742 | // <preg_match> rule |
680 | - else if (isset($options[PCLZIP_OPT_BY_PREG])) |
|
681 | - $selectFilter = function ($key, $value) use ($options) { |
|
743 | + else if (isset($options[PCLZIP_OPT_BY_PREG])) { |
|
744 | + $selectFilter = function ($key, $value) use ($options) { |
|
682 | 745 | return preg_match($options[PCLZIP_OPT_BY_PREG], $key) |
683 | 746 | ? self::SELECT_FILTER_PASS |
684 | 747 | : self::SELECT_FILTER_REFUSE; |
748 | + } |
|
685 | 749 | }; |
686 | 750 | // index rule |
687 | - else if (isset($options[PCLZIP_OPT_BY_INDEX])) |
|
688 | - $selectFilter = function ($key, $value, $index) use ($options) { |
|
751 | + else if (isset($options[PCLZIP_OPT_BY_INDEX])) { |
|
752 | + $selectFilter = function ($key, $value, $index) use ($options) { |
|
689 | 753 | $allowedIndexes = array(); |
754 | + } |
|
690 | 755 | foreach ($options[PCLZIP_OPT_BY_INDEX] as $rule) { |
691 | 756 | $parts = explode('-', $rule); |
692 | - if (count($parts) == 1) $allowedIndexes[] = $rule; |
|
693 | - else $allowedIndexes = array_merge( |
|
757 | + if (count($parts) == 1) { |
|
758 | + $allowedIndexes[] = $rule; |
|
759 | + } else { |
|
760 | + $allowedIndexes = array_merge( |
|
694 | 761 | range($parts[0], $parts[1]), $allowedIndexes); |
762 | + } |
|
695 | 763 | } |
696 | 764 | |
697 | 765 | return in_array($index, $allowedIndexes) |
@@ -699,8 +767,10 @@ discard block |
||
699 | 767 | : self::SELECT_FILTER_REFUSE; |
700 | 768 | }; |
701 | 769 | // no rule |
702 | - else |
|
703 | - $selectFilter = function () { return self::SELECT_FILTER_PASS; }; |
|
770 | + else { |
|
771 | + $selectFilter = function () { return self::SELECT_FILTER_PASS; |
|
772 | + } |
|
773 | + }; |
|
704 | 774 | |
705 | 775 | foreach ($this->listContent() as $file_header) { |
706 | 776 | // select by select rule |
@@ -752,8 +822,12 @@ discard block |
||
752 | 822 | } |
753 | 823 | |
754 | 824 | $tempDir = tempnam(PCLZIP_TEMPORARY_DIR, 'merging'); |
755 | - if (file_exists($tempDir)) unlink($tempDir); |
|
756 | - if (!mkdir($tempDir)) return 0; |
|
825 | + if (file_exists($tempDir)) { |
|
826 | + unlink($tempDir); |
|
827 | + } |
|
828 | + if (!mkdir($tempDir)) { |
|
829 | + return 0; |
|
830 | + } |
|
757 | 831 | |
758 | 832 | // go through archive content list and copy all files |
759 | 833 | foreach ($a->getFileNames() as $filename) { |
@@ -782,8 +856,11 @@ discard block |
||
782 | 856 | |
783 | 857 | call_user_func(function ($directory) { |
784 | 858 | foreach (glob($directory.'/*') as $f) { |
785 | - if (is_dir($f)) call_user_func(__FUNCTION__, $f); |
|
786 | - else unlink($f); |
|
859 | + if (is_dir($f)) { |
|
860 | + call_user_func(__FUNCTION__, $f); |
|
861 | + } else { |
|
862 | + unlink($f); |
|
863 | + } |
|
787 | 864 | } |
788 | 865 | }, $tempDir); |
789 | 866 |
@@ -258,12 +258,14 @@ discard block |
||
258 | 258 | { |
259 | 259 | |
260 | 260 | static::retrieveAllFormats(); |
261 | - if (!static::canOpen($format)) |
|
262 | - return false; |
|
261 | + if (!static::canOpen($format)) { |
|
262 | + return false; |
|
263 | + } |
|
263 | 264 | |
264 | 265 | foreach (static::$formatsSupport[$format] as $driver) { |
265 | - if ($driver::$function($format)) |
|
266 | - return true; |
|
266 | + if ($driver::$function($format)) { |
|
267 | + return true; |
|
268 | + } |
|
267 | 269 | } |
268 | 270 | |
269 | 271 | return false; |
@@ -278,15 +280,18 @@ discard block |
||
278 | 280 | { |
279 | 281 | static::retrieveAllFormats(); |
280 | 282 | |
281 | - if (!static::canOpen($format)) |
|
282 | - throw new UnsupportedArchiveException('Unsupported archive type: '.$format.' of archive '); |
|
283 | + if (!static::canOpen($format)) { |
|
284 | + throw new UnsupportedArchiveException('Unsupported archive type: '.$format.' of archive '); |
|
285 | + } |
|
283 | 286 | |
284 | - if (!$createAbility) |
|
285 | - return current(static::$formatsSupport[$format]); |
|
287 | + if (!$createAbility) { |
|
288 | + return current(static::$formatsSupport[$format]); |
|
289 | + } |
|
286 | 290 | |
287 | 291 | foreach (static::$formatsSupport[$format] as $driver) { |
288 | - if ($driver::canCreateArchive($format)) |
|
289 | - return $driver; |
|
292 | + if ($driver::canCreateArchive($format)) { |
|
293 | + return $driver; |
|
294 | + } |
|
290 | 295 | } |
291 | 296 | return false; |
292 | 297 | } |
@@ -100,7 +100,9 @@ discard block |
||
100 | 100 | { |
101 | 101 | $information = new ArchiveInformation(); |
102 | 102 | foreach ($this->rar->getEntries() as $i => $entry) { |
103 | - if ($entry->isDirectory()) continue; |
|
103 | + if ($entry->isDirectory()) { |
|
104 | + continue; |
|
105 | + } |
|
104 | 106 | $information->files[] = $entry->getName(); |
105 | 107 | $information->compressedFilesSize += $entry->getPackedSize(); |
106 | 108 | $information->uncompressedFilesSize += $entry->getUnpackedSize(); |
@@ -115,7 +117,9 @@ discard block |
||
115 | 117 | { |
116 | 118 | $files = []; |
117 | 119 | foreach ($this->rar->getEntries() as $i => $entry) { |
118 | - if ($entry->isDirectory()) continue; |
|
120 | + if ($entry->isDirectory()) { |
|
121 | + continue; |
|
122 | + } |
|
119 | 123 | $files[] = $entry->getName(); |
120 | 124 | } |
121 | 125 | return $files; |
@@ -151,7 +155,9 @@ discard block |
||
151 | 155 | public function getFileContent($fileName) |
152 | 156 | { |
153 | 157 | $entry = $this->rar->getEntry($fileName); |
154 | - if ($entry->isDirectory()) return false; |
|
158 | + if ($entry->isDirectory()) { |
|
159 | + return false; |
|
160 | + } |
|
155 | 161 | return stream_get_contents($entry->getStream()); |
156 | 162 | } |
157 | 163 | |
@@ -163,7 +169,9 @@ discard block |
||
163 | 169 | public function getFileStream($fileName) |
164 | 170 | { |
165 | 171 | $entry = $this->rar->getEntry($fileName); |
166 | - if ($entry->isDirectory()) return false; |
|
172 | + if ($entry->isDirectory()) { |
|
173 | + return false; |
|
174 | + } |
|
167 | 175 | return $entry->getStream(); |
168 | 176 | } |
169 | 177 |
@@ -60,8 +60,9 @@ |
||
60 | 60 | */ |
61 | 61 | public function __construct($archiveFileName, $format, $password = null) |
62 | 62 | { |
63 | - if ($password !== null) |
|
64 | - throw new UnsupportedOperationException('Cab archive does not support password!'); |
|
63 | + if ($password !== null) { |
|
64 | + throw new UnsupportedOperationException('Cab archive does not support password!'); |
|
65 | + } |
|
65 | 66 | $this->open($archiveFileName); |
66 | 67 | } |
67 | 68 |
@@ -123,21 +123,24 @@ discard block |
||
123 | 123 | break; |
124 | 124 | } |
125 | 125 | |
126 | - if (isset($tar_aname)) |
|
127 | - $tar = new Archive_Tar($tar_aname, $compression); |
|
128 | - else |
|
129 | - $tar = new Archive_Tar($archiveFileName, $compression); |
|
126 | + if (isset($tar_aname)) { |
|
127 | + $tar = new Archive_Tar($tar_aname, $compression); |
|
128 | + } else { |
|
129 | + $tar = new Archive_Tar($archiveFileName, $compression); |
|
130 | + } |
|
130 | 131 | |
131 | 132 | foreach ($files as $localName => $filename) { |
132 | 133 | $remove_dir = dirname($filename); |
133 | 134 | $add_dir = dirname($localName); |
134 | 135 | |
135 | 136 | if (is_null($filename)) { |
136 | - if ($tar->addString($localName, '') === false) |
|
137 | - throw new ArchiveCreationException('Error when adding directory '.$localName.' to archive'); |
|
137 | + if ($tar->addString($localName, '') === false) { |
|
138 | + throw new ArchiveCreationException('Error when adding directory '.$localName.' to archive'); |
|
139 | + } |
|
138 | 140 | } else { |
139 | - if ($tar->addModify($filename, $add_dir, $remove_dir) === false) |
|
140 | - throw new ArchiveCreationException('Error when adding file '.$filename.' to archive'); |
|
141 | + if ($tar->addModify($filename, $add_dir, $remove_dir) === false) { |
|
142 | + throw new ArchiveCreationException('Error when adding file '.$filename.' to archive'); |
|
143 | + } |
|
141 | 144 | } |
142 | 145 | } |
143 | 146 | $tar = null; |
@@ -194,8 +197,9 @@ discard block |
||
194 | 197 | continue; |
195 | 198 | } |
196 | 199 | // skip directories |
197 | - if ($file['typeflag'] == '5' || substr($file['filename'], -1) === '/') |
|
198 | - continue; |
|
200 | + if ($file['typeflag'] == '5' || substr($file['filename'], -1) === '/') { |
|
201 | + continue; |
|
202 | + } |
|
199 | 203 | $information->files[] = $file['filename']; |
200 | 204 | $information->uncompressedFilesSize += $file['size']; |
201 | 205 | $this->pearFilesIndex[$file['filename']] = $i; |
@@ -240,14 +244,16 @@ discard block |
||
240 | 244 | */ |
241 | 245 | public function getFileData($fileName) |
242 | 246 | { |
243 | - if (!isset($this->pearFilesIndex[$fileName])) |
|
244 | - throw new NonExistentArchiveFileException('File '.$fileName.' is not found in archive files list'); |
|
247 | + if (!isset($this->pearFilesIndex[$fileName])) { |
|
248 | + throw new NonExistentArchiveFileException('File '.$fileName.' is not found in archive files list'); |
|
249 | + } |
|
245 | 250 | |
246 | 251 | $index = $this->pearFilesIndex[$fileName]; |
247 | 252 | |
248 | 253 | $files_list = $this->tar->listContent(); |
249 | - if (!isset($files_list[$index])) |
|
250 | - throw new NonExistentArchiveFileException('File '.$fileName.' is not found in Tar archive'); |
|
254 | + if (!isset($files_list[$index])) { |
|
255 | + throw new NonExistentArchiveFileException('File '.$fileName.' is not found in Tar archive'); |
|
256 | + } |
|
251 | 257 | |
252 | 258 | $data = $files_list[$index]; |
253 | 259 | unset($files_list); |
@@ -262,8 +268,9 @@ discard block |
||
262 | 268 | */ |
263 | 269 | public function getFileContent($fileName) |
264 | 270 | { |
265 | - if (!isset($this->pearFilesIndex[$fileName])) |
|
266 | - throw new NonExistentArchiveFileException('File '.$fileName.' is not found in archive files list'); |
|
271 | + if (!isset($this->pearFilesIndex[$fileName])) { |
|
272 | + throw new NonExistentArchiveFileException('File '.$fileName.' is not found in archive files list'); |
|
273 | + } |
|
267 | 274 | |
268 | 275 | return $this->tar->extractInString($fileName); |
269 | 276 | } |
@@ -273,8 +280,9 @@ discard block |
||
273 | 280 | */ |
274 | 281 | public function getFileStream($fileName) |
275 | 282 | { |
276 | - if (!isset($this->pearFilesIndex[$fileName])) |
|
277 | - throw new NonExistentArchiveFileException('File '.$fileName.' is not found in archive files list'); |
|
283 | + if (!isset($this->pearFilesIndex[$fileName])) { |
|
284 | + throw new NonExistentArchiveFileException('File '.$fileName.' is not found in archive files list'); |
|
285 | + } |
|
278 | 286 | |
279 | 287 | return self::wrapStringInStream($this->tar->extractInString($fileName)); |
280 | 288 | } |
@@ -203,8 +203,9 @@ |
||
203 | 203 | $deleted = 0; |
204 | 204 | |
205 | 205 | foreach ($files as $i => $file) { |
206 | - if ($this->tar->delete($file)) |
|
207 | - $deleted++; |
|
206 | + if ($this->tar->delete($file)) { |
|
207 | + $deleted++; |
|
208 | + } |
|
208 | 209 | } |
209 | 210 | |
210 | 211 | $this->tar = null; |
@@ -69,8 +69,9 @@ discard block |
||
69 | 69 | public function __construct($archiveFileName, $format, $password = null) |
70 | 70 | { |
71 | 71 | $this->open($archiveFileName); |
72 | - if ($password !== null) |
|
73 | - throw new UnsupportedOperationException('Iso archive does not support password!'); |
|
72 | + if ($password !== null) { |
|
73 | + throw new UnsupportedOperationException('Iso archive does not support password!'); |
|
74 | + } |
|
74 | 75 | } |
75 | 76 | |
76 | 77 | /** |
@@ -93,8 +94,9 @@ discard block |
||
93 | 94 | |
94 | 95 | /** @var \CVolumeDescriptor $usedDesc */ |
95 | 96 | $usedDesc = $this->iso->GetDescriptor(SUPPLEMENTARY_VOLUME_DESC); |
96 | - if (!$usedDesc) |
|
97 | - $usedDesc = $this->iso->GetDescriptor(PRIMARY_VOLUME_DESC); |
|
97 | + if (!$usedDesc) { |
|
98 | + $usedDesc = $this->iso->GetDescriptor(PRIMARY_VOLUME_DESC); |
|
99 | + } |
|
98 | 100 | $this->blockSize = $usedDesc->iBlockSize; |
99 | 101 | $directories = $usedDesc->LoadMPathTable($this->iso); |
100 | 102 | // iterate over all directories |
@@ -115,8 +117,9 @@ discard block |
||
115 | 117 | if ($files) { |
116 | 118 | /** @var \CFileDirDescriptors $file */ |
117 | 119 | foreach ($files as $file) { |
118 | - if (in_array($file->strd_FileId, ['.', '..']) || $file->IsDirectory()) |
|
119 | - continue; |
|
120 | + if (in_array($file->strd_FileId, ['.', '..']) || $file->IsDirectory()) { |
|
121 | + continue; |
|
122 | + } |
|
120 | 123 | $this->files[$file->Location] = $directory.$file->strd_FileId; |
121 | 124 | $this->filesSize += $file->DataLen; |
122 | 125 | |
@@ -168,8 +171,9 @@ discard block |
||
168 | 171 | */ |
169 | 172 | public function getFileData($fileName) |
170 | 173 | { |
171 | - if (!isset($this->filesData[$fileName])) |
|
172 | - return false; |
|
174 | + if (!isset($this->filesData[$fileName])) { |
|
175 | + return false; |
|
176 | + } |
|
173 | 177 | |
174 | 178 | return new ArchiveEntry($fileName, $this->filesData[$fileName]['size'], |
175 | 179 | $this->filesData[$fileName]['size'], $this->filesData[$fileName]['mtime'],false); |
@@ -204,11 +208,14 @@ discard block |
||
204 | 208 | protected function prepareForFileExtracting($fileName) |
205 | 209 | { |
206 | 210 | $Location = array_search($fileName, $this->files, true); |
207 | - if (!isset($this->filesData[$fileName])) return false; |
|
211 | + if (!isset($this->filesData[$fileName])) { |
|
212 | + return false; |
|
213 | + } |
|
208 | 214 | $data = $this->filesData[$fileName]; |
209 | 215 | $Location_Real = $Location * $this->blockSize; |
210 | - if ($this->iso->Seek($Location_Real, SEEK_SET) === false) |
|
211 | - return false; |
|
216 | + if ($this->iso->Seek($Location_Real, SEEK_SET) === false) { |
|
217 | + return false; |
|
218 | + } |
|
212 | 219 | return $data; |
213 | 220 | } |
214 | 221 |
@@ -97,11 +97,13 @@ discard block |
||
97 | 97 | */ |
98 | 98 | public static function getInstallationInstruction() |
99 | 99 | { |
100 | - if (!class_exists('\Archive7z\Archive7z')) |
|
101 | - return 'install library `gemorroj/archive7z` and console program p7zip (7za)'; |
|
100 | + if (!class_exists('\Archive7z\Archive7z')) { |
|
101 | + return 'install library `gemorroj/archive7z` and console program p7zip (7za)'; |
|
102 | + } |
|
102 | 103 | |
103 | - if (Archive7z::getBinaryVersion() === false) |
|
104 | - return 'install console program p7zip (7za)'; |
|
104 | + if (Archive7z::getBinaryVersion() === false) { |
|
105 | + return 'install console program p7zip (7za)'; |
|
106 | + } |
|
105 | 107 | |
106 | 108 | return null; |
107 | 109 | } |
@@ -114,8 +116,9 @@ discard block |
||
114 | 116 | try { |
115 | 117 | $this->format = $format; |
116 | 118 | $this->sevenZip = new Archive7z($archiveFileName, null, null); |
117 | - if ($password !== null) |
|
118 | - $this->sevenZip->setPassword($password); |
|
119 | + if ($password !== null) { |
|
120 | + $this->sevenZip->setPassword($password); |
|
121 | + } |
|
119 | 122 | } catch (\Archive7z\Exception $e) { |
120 | 123 | throw new Exception('Could not open 7Zip archive: '.$e->getMessage(), $e->getCode(), $e); |
121 | 124 | } |
@@ -133,8 +136,9 @@ discard block |
||
133 | 136 | continue; |
134 | 137 | } |
135 | 138 | |
136 | - if (!isset($can_get_unix_path)) |
|
137 | - $can_get_unix_path = method_exists($entry, 'getUnixPath'); |
|
139 | + if (!isset($can_get_unix_path)) { |
|
140 | + $can_get_unix_path = method_exists($entry, 'getUnixPath'); |
|
141 | + } |
|
138 | 142 | |
139 | 143 | $information->files[] = $can_get_unix_path |
140 | 144 | ? $entry->getUnixPath() |
@@ -152,8 +156,9 @@ discard block |
||
152 | 156 | { |
153 | 157 | $files = []; |
154 | 158 | foreach ($this->sevenZip->getEntries() as $entry) { |
155 | - if ($entry->isDirectory()) |
|
156 | - continue; |
|
159 | + if ($entry->isDirectory()) { |
|
160 | + continue; |
|
161 | + } |
|
157 | 162 | $files[] = $entry->getPath(); |
158 | 163 | } |
159 | 164 | return $files; |
@@ -294,8 +299,9 @@ discard block |
||
294 | 299 | public function addFileFromString($inArchiveName, $content) |
295 | 300 | { |
296 | 301 | $tmp_file = tempnam(sys_get_temp_dir(), 'ua'); |
297 | - if (!$tmp_file) |
|
298 | - throw new ArchiveModificationException('Could not create temporarily file'); |
|
302 | + if (!$tmp_file) { |
|
303 | + throw new ArchiveModificationException('Could not create temporarily file'); |
|
304 | + } |
|
299 | 305 | |
300 | 306 | file_put_contents($tmp_file, $content); |
301 | 307 | unset($content); |
@@ -325,8 +331,9 @@ discard block |
||
325 | 331 | |
326 | 332 | try { |
327 | 333 | $seven_zip = new Archive7z($archiveFileName); |
328 | - if ($password !== null) |
|
329 | - $seven_zip->setPassword($password); |
|
334 | + if ($password !== null) { |
|
335 | + $seven_zip->setPassword($password); |
|
336 | + } |
|
330 | 337 | $seven_zip->setCompressionLevel($compressionLevelMap[$compressionLevel]); |
331 | 338 | foreach ($files as $localName => $filename) { |
332 | 339 | if ($filename !== null) { |
@@ -355,8 +362,9 @@ discard block |
||
355 | 362 | Formats::TAR, |
356 | 363 | Formats::LZMA, |
357 | 364 | Formats::ZIP] |
358 | - )) |
|
359 | - return self::canRenameFiles(); |
|
365 | + )) { |
|
366 | + return self::canRenameFiles(); |
|
367 | + } |
|
360 | 368 | |
361 | 369 | return false; |
362 | 370 | } |