Lines Matching refs:this

75             $length = $this->leftLength;
77 $length = min($this->leftLength, $length);
79 $skipped = $this->source->skip($length);
81 $this->leftLength -= $skipped;
92 $length = $this->currentStat[7] - $this->leftLength;
94 $length = min($length, $this->currentStat[7] - $this->leftLength);
96 $rewinded = $this->source->rewind($length);
98 $this->leftLength += $rewinded;
108 return $this->currentStat[7] - $this->leftLength;
116 $this->leftLength = 0;
117 $this->currentFilename = null;
118 $this->currentStat = null;
119 $this->seekToEnd = null;
126 function getFilename() { return $this->currentFilename; }
130 function getStat() { return $this->currentStat; }
141 if ($this->seekToEnd !== null) {
147 $error = $this->source->skip($this->leftLength + $this->footerLength);
151 $rawHeader = $this->source->getData(512);
156 $this->seekToEnd = strlen($rawHeader);
157 $this->currentFilename = null;
166 $this->currentStat = array(
173 $this->currentStat['mode'] = $this->currentStat[2];
174 $this->currentStat['uid'] = $this->currentStat[4];
175 $this->currentStat['gid'] = $this->currentStat[5];
176 $this->currentStat['size'] = $this->currentStat[7];
177 $this->currentStat['mtime'] = $this->currentStat[9];
180 $this->currentFilename = $this->getStandardURL(
184 $this->currentFilename = $this->getStandardURL(
189 $this->leftLength = $this->currentStat[7];
190 if ($this->leftLength % 512 == 0) {
191 $this->footerLength = 0;
193 $this->footerLength = 512 - $this->leftLength%512;
205 die('Checksum error on entry '.$this->currentFilename);
218 $actualLength = $this->leftLength;
220 $actualLength = min($this->leftLength, $length);
223 if ($this->leftLength == 0) {
226 $data = $this->source->getData($actualLength);
230 $this->leftLength -= $actualLength;
245 if ($this->currentFilename !== null && $pred->isTrue($this)) {
246 $seek = 512 + $this->currentStat[7] + $this->footerLength;
250 while (($error = $this->next()) === true) {
251 $size = 512 + $this->currentStat[7] + $this->footerLength;
252 if ($pred->isTrue($this)) {
273 $seek = $this->seekToEnd;
275 $seek += $this->seekToEnd;
284 $this->source->makeWriterRemoveBlocks($blocks, -$seek)
286 $this->close();
295 if ($this->seekToEnd !== null || $this->currentStat === null) {
299 $blockPos = $this->currentStat[7] - $this->leftLength + $seek;
301 $this->rewind();
304 $data = $this->getData($blockPos);
307 $data .= $this->getData($length);
309 $this->skip($length);
314 $data .= $this->getData();
317 $filename = $this->currentFilename;
318 $stat = $this->currentStat;
320 $writer = $this->makeWriterRemove();
339 while (($error = $this->next()) === true) { }
341 $this->close();
345 $innerWriter = $this->source->makeWriterRemoveBlocks(array(), -$this->seekToEnd);
350 $this->close();