[ Index ] |
PHP Cross Reference of moodle-2.8 |
[Summary view] [Print] [Text view]
1 <?php 2 // 3 // FPDI - Version 1.4.4 4 // 5 // Copyright 2004-2013 Setasign - Jan Slabon 6 // 7 // Licensed under the Apache License, Version 2.0 (the "License"); 8 // you may not use this file except in compliance with the License. 9 // You may obtain a copy of the License at 10 // 11 // http://www.apache.org/licenses/LICENSE-2.0 12 // 13 // Unless required by applicable law or agreed to in writing, software 14 // distributed under the License is distributed on an "AS IS" BASIS, 15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 // See the License for the specific language governing permissions and 17 // limitations under the License. 18 // 19 20 if (!class_exists('pdf_context', false)) { 21 22 class pdf_context { 23 24 /** 25 * Modi 26 * 27 * @var integer 0 = file | 1 = string 28 */ 29 var $_mode = 0; 30 31 var $file; 32 var $buffer; 33 var $offset; 34 var $length; 35 36 var $stack; 37 38 // Constructor 39 40 function pdf_context(&$f) { 41 $this->file =& $f; 42 if (is_string($this->file)) 43 $this->_mode = 1; 44 $this->reset(); 45 } 46 47 // Optionally move the file 48 // pointer to a new location 49 // and reset the buffered data 50 51 function reset($pos = null, $l = 100) { 52 if ($this->_mode == 0) { 53 if (!is_null ($pos)) { 54 fseek ($this->file, $pos); 55 } 56 57 $this->buffer = $l > 0 ? fread($this->file, $l) : ''; 58 $this->length = strlen($this->buffer); 59 if ($this->length < $l) 60 $this->increase_length($l - $this->length); 61 } else { 62 $this->buffer = $this->file; 63 $this->length = strlen($this->buffer); 64 } 65 $this->offset = 0; 66 $this->stack = array(); 67 } 68 69 // Make sure that there is at least one 70 // character beyond the current offset in 71 // the buffer to prevent the tokenizer 72 // from attempting to access data that does 73 // not exist 74 75 function ensure_content() { 76 if ($this->offset >= $this->length - 1) { 77 return $this->increase_length(); 78 } else { 79 return true; 80 } 81 } 82 83 // Forcefully read more data into the buffer 84 85 function increase_length($l = 100) { 86 if ($this->_mode == 0 && feof($this->file)) { 87 return false; 88 } elseif ($this->_mode == 0) { 89 $totalLength = $this->length + $l; 90 do { 91 $toRead = $totalLength - $this->length; 92 if ($toRead < 1) 93 break; 94 95 $this->buffer .= fread($this->file, $toRead); 96 } while ((($this->length = strlen($this->buffer)) != $totalLength) && !feof($this->file)); 97 98 return true; 99 } else { 100 return false; 101 } 102 } 103 } 104 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:29:05 2014 | Cross-referenced by PHPXref 0.7.1 |