This commit is contained in:
Mikael Nordfeldth
2015-04-14 21:40:09 +02:00
parent 4526c3f712
commit ee96a08700
5 changed files with 534 additions and 267 deletions

View File

@@ -1,6 +1,6 @@
<?php
/*
Copyright (c) 2003, 2005 Danilo Segan <danilo@kvota.net>.
Copyright (c) 2003, 2005, 2006, 2009 Danilo Segan <danilo@kvota.net>.
This file is part of PHP-gettext.
@@ -21,29 +21,29 @@
*/
// Simple class to wrap file streams, string streams, etc.
// seek is essential, and it should be byte stream
// Simple class to wrap file streams, string streams, etc.
// seek is essential, and it should be byte stream
class StreamReader {
// should return a string [FIXME: perhaps return array of bytes?]
function read($bytes) {
return false;
}
// should return new position
function seekto($position) {
return false;
}
// returns current position
function currentpos() {
return false;
}
// returns length of entire stream (limit for seekto()s)
function length() {
return false;
}
}
};
class StringReader {
var $_pos;
@@ -78,7 +78,7 @@ class StringReader {
return strlen($this->_str);
}
}
};
class FileReader {
@@ -93,8 +93,8 @@ class FileReader {
$this->_pos = 0;
$this->_fd = fopen($filename,'rb');
if (!$this->_fd) {
$this->error = 3; // Cannot read file, probably permissions
return false;
$this->error = 3; // Cannot read file, probably permissions
return false;
}
} else {
$this->error = 2; // File doesn't exist
@@ -115,7 +115,7 @@ class FileReader {
$bytes -= strlen($chunk);
}
$this->_pos = ftell($this->_fd);
return $data;
} else return '';
}
@@ -138,9 +138,9 @@ class FileReader {
fclose($this->_fd);
}
}
};
// Preloads entire file in memory first, then creates a StringReader
// Preloads entire file in memory first, then creates a StringReader
// over it (it assumes knowledge of StringReader internals)
class CachedFileReader extends StringReader {
function CachedFileReader($filename) {
@@ -150,8 +150,8 @@ class CachedFileReader extends StringReader {
$fd = fopen($filename,'rb');
if (!$fd) {
$this->error = 3; // Cannot read file, probably permissions
return false;
$this->error = 3; // Cannot read file, probably permissions
return false;
}
$this->_str = fread($fd, $length);
fclose($fd);
@@ -161,7 +161,7 @@ class CachedFileReader extends StringReader {
return false;
}
}
}
};
?>
?>