Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/fluentform/app/Services/Spout/Reader/ODS/Reader.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 +
3 + namespace Box\Spout\Reader\ODS;
4 +
5 + use Box\Spout\Common\Exception\IOException;
6 + use Box\Spout\Reader\AbstractReader;
7 +
8 + /**
9 + * Class Reader
10 + * This class provides support to read data from a ODS file
11 + *
12 + * @package Box\Spout\Reader\ODS
13 + */
14 + class Reader extends AbstractReader
15 + {
16 + /** @var \ZipArchive */
17 + protected $zip;
18 +
19 + /** @var SheetIterator To iterator over the ODS sheets */
20 + protected $sheetIterator;
21 +
22 + /**
23 + * Returns the reader's current options
24 + *
25 + * @return ReaderOptions
26 + */
27 + protected function getOptions()
28 + {
29 + if (!isset($this->options)) {
30 + $this->options = new ReaderOptions();
31 + }
32 + return $this->options;
33 + }
34 +
35 + /**
36 + * Returns whether stream wrappers are supported
37 + *
38 + * @return bool
39 + */
40 + protected function doesSupportStreamWrapper()
41 + {
42 + return false;
43 + }
44 +
45 + /**
46 + * Opens the file at the given file path to make it ready to be read.
47 + *
48 + * @param string $filePath Path of the file to be read
49 + * @return void
50 + * @throws \Box\Spout\Common\Exception\IOException If the file at the given path or its content cannot be read
51 + * @throws \Box\Spout\Reader\Exception\NoSheetsFoundException If there are no sheets in the file
52 + */
53 + protected function openReader($filePath)
54 + {
55 + $this->zip = new \ZipArchive();
56 +
57 + if ($this->zip->open($filePath) === true) {
58 + $this->sheetIterator = new SheetIterator($filePath, $this->getOptions());
59 + } else {
60 + throw new IOException("Could not open $filePath for reading.");
61 + }
62 + }
63 +
64 + /**
65 + * Returns an iterator to iterate over sheets.
66 + *
67 + * @return SheetIterator To iterate over sheets
68 + */
69 + protected function getConcreteSheetIterator()
70 + {
71 + return $this->sheetIterator;
72 + }
73 +
74 + /**
75 + * Closes the reader. To be used after reading the file.
76 + *
77 + * @return void
78 + */
79 + protected function closeReader()
80 + {
81 + if ($this->zip) {
82 + $this->zip->close();
83 + }
84 + }
85 + }
86 +