ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
PHPExcel_Reader_Excel5_Escher Class Reference
+ Collaboration diagram for PHPExcel_Reader_Excel5_Escher:

Public Member Functions

 __construct ($object)
 Create a new PHPExcel_Reader_Excel5_Escher instance. More...
 
 load ($data)
 Load Escher stream data. More...
 

Data Fields

const DGGCONTAINER = 0xF000
 
const BSTORECONTAINER = 0xF001
 
const DGCONTAINER = 0xF002
 
const SPGRCONTAINER = 0xF003
 
const SPCONTAINER = 0xF004
 
const DGG = 0xF006
 
const BSE = 0xF007
 
const DG = 0xF008
 
const SPGR = 0xF009
 
const SP = 0xF00A
 
const OPT = 0xF00B
 
const CLIENTTEXTBOX = 0xF00D
 
const CLIENTANCHOR = 0xF010
 
const CLIENTDATA = 0xF011
 
const BLIPJPEG = 0xF01D
 
const BLIPPNG = 0xF01E
 
const SPLITMENUCOLORS = 0xF11E
 
const TERTIARYOPT = 0xF122
 

Private Member Functions

 _readDefault ()
 Read a generic record. More...
 
 _readDggContainer ()
 Read DggContainer record (Drawing Group Container) More...
 
 _readDgg ()
 Read Dgg record (Drawing Group) More...
 
 _readBstoreContainer ()
 Read BstoreContainer record (Blip Store Container) More...
 
 _readBSE ()
 Read BSE record. More...
 
 _readBlipJPEG ()
 Read BlipJPEG record. More...
 
 _readBlipPNG ()
 Read BlipPNG record. More...
 
 _readOPT ()
 Read OPT record. More...
 
 _readTertiaryOPT ()
 Read TertiaryOPT record. More...
 
 _readSplitMenuColors ()
 Read SplitMenuColors record. More...
 
 _readDgContainer ()
 Read DgContainer record (Drawing Container) More...
 
 _readDg ()
 Read Dg record (Drawing) More...
 
 _readSpgrContainer ()
 Read SpgrContainer record (Shape Group Container) More...
 
 _readSpContainer ()
 Read SpContainer record (Shape Container) More...
 
 _readSpgr ()
 Read Spgr record (Shape Group) More...
 
 _readSp ()
 Read Sp record (Shape) More...
 
 _readClientTextbox ()
 Read ClientTextbox record. More...
 
 _readClientAnchor ()
 Read ClientAnchor record. More...
 
 _readClientData ()
 Read ClientData record. More...
 
 _readOfficeArtRGFOPTE ($data, $n)
 Read OfficeArtRGFOPTE table of property-value pairs. More...
 

Private Attributes

 $_data
 
 $_dataSize
 
 $_pos
 
 $_object
 

Detailed Description

Definition at line 35 of file Escher.php.

Constructor & Destructor Documentation

◆ __construct()

PHPExcel_Reader_Excel5_Escher::__construct (   $object)

Create a new PHPExcel_Reader_Excel5_Escher instance.

Parameters
mixed$object

Definition at line 89 of file Escher.php.

90  {
91  $this->_object = $object;
92  }

Member Function Documentation

◆ _readBlipJPEG()

PHPExcel_Reader_Excel5_Escher::_readBlipJPEG ( )
private

Read BlipJPEG record.

Holds raw JPEG image data

Definition at line 278 of file Escher.php.

References $data, $tag, PHPExcel_Reader_Excel5\_GetInt2d(), PHPExcel_Reader_Excel5\_GetInt4d(), and array.

Referenced by load().

279  {
280  // offset: 0; size: 2; recVer and recInstance
281 
282  // bit: 4-15; mask: 0xFFF0; recInstance
283  $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
284 
285  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
286  $recordData = substr($this->_data, $this->_pos + 8, $length);
287 
288  // move stream pointer to next record
289  $this->_pos += 8 + $length;
290 
291  $pos = 0;
292 
293  // offset: 0; size: 16; rgbUid1 (MD4 digest of)
294  $rgbUid1 = substr($recordData, 0, 16);
295  $pos += 16;
296 
297  // offset: 16; size: 16; rgbUid2 (MD4 digest), only if $recInstance = 0x46B or 0x6E3
298  if (in_array($recInstance, array(0x046B, 0x06E3))) {
299  $rgbUid2 = substr($recordData, 16, 16);
300  $pos += 16;
301  }
302 
303  // offset: var; size: 1; tag
304  $tag = ord($recordData{$pos});
305  $pos += 1;
306 
307  // offset: var; size: var; the raw image data
308  $data = substr($recordData, $pos);
309 
311  $blip->setData($data);
312 
313  $this->_object->setBlip($blip);
314  }
static _GetInt2d($data, $pos)
Read 16-bit unsigned integer.
Definition: Excel5.php:6774
Create styles array
The data for the language used.
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
if(function_exists('posix_getuid') &&posix_getuid()===0) if(!array_key_exists('t', $options)) $tag
Definition: cron.php:35
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readBlipPNG()

PHPExcel_Reader_Excel5_Escher::_readBlipPNG ( )
private

Read BlipPNG record.

Holds raw PNG image data

Definition at line 319 of file Escher.php.

References $data, $tag, PHPExcel_Reader_Excel5\_GetInt2d(), and PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

320  {
321  // offset: 0; size: 2; recVer and recInstance
322 
323  // bit: 4-15; mask: 0xFFF0; recInstance
324  $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
325 
326  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
327  $recordData = substr($this->_data, $this->_pos + 8, $length);
328 
329  // move stream pointer to next record
330  $this->_pos += 8 + $length;
331 
332  $pos = 0;
333 
334  // offset: 0; size: 16; rgbUid1 (MD4 digest of)
335  $rgbUid1 = substr($recordData, 0, 16);
336  $pos += 16;
337 
338  // offset: 16; size: 16; rgbUid2 (MD4 digest), only if $recInstance = 0x46B or 0x6E3
339  if ($recInstance == 0x06E1) {
340  $rgbUid2 = substr($recordData, 16, 16);
341  $pos += 16;
342  }
343 
344  // offset: var; size: 1; tag
345  $tag = ord($recordData{$pos});
346  $pos += 1;
347 
348  // offset: var; size: var; the raw image data
349  $data = substr($recordData, $pos);
350 
352  $blip->setData($data);
353 
354  $this->_object->setBlip($blip);
355  }
static _GetInt2d($data, $pos)
Read 16-bit unsigned integer.
Definition: Excel5.php:6774
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
if(function_exists('posix_getuid') &&posix_getuid()===0) if(!array_key_exists('t', $options)) $tag
Definition: cron.php:35
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readBSE()

PHPExcel_Reader_Excel5_Escher::_readBSE ( )
private

Read BSE record.

Definition at line 212 of file Escher.php.

References $reader, $size, $tag, PHPExcel_Reader_Excel5\_GetInt2d(), and PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

213  {
214  // offset: 0; size: 2; recVer and recInstance
215 
216  // bit: 4-15; mask: 0xFFF0; recInstance
217  $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
218 
219  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
220  $recordData = substr($this->_data, $this->_pos + 8, $length);
221 
222  // move stream pointer to next record
223  $this->_pos += 8 + $length;
224 
225  // add BSE to BstoreContainer
227  $this->_object->addBSE($BSE);
228 
229  $BSE->setBLIPType($recInstance);
230 
231  // offset: 0; size: 1; btWin32 (MSOBLIPTYPE)
232  $btWin32 = ord($recordData[0]);
233 
234  // offset: 1; size: 1; btWin32 (MSOBLIPTYPE)
235  $btMacOS = ord($recordData[1]);
236 
237  // offset: 2; size: 16; MD4 digest
238  $rgbUid = substr($recordData, 2, 16);
239 
240  // offset: 18; size: 2; tag
241  $tag = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 18);
242 
243  // offset: 20; size: 4; size of BLIP in bytes
244  $size = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 20);
245 
246  // offset: 24; size: 4; number of references to this BLIP
247  $cRef = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 24);
248 
249  // offset: 28; size: 4; MSOFO file offset
250  $foDelay = PHPExcel_Reader_Excel5::_GetInt4d($recordData, 28);
251 
252  // offset: 32; size: 1; unused1
253  $unused1 = ord($recordData{32});
254 
255  // offset: 33; size: 1; size of nameData in bytes (including null terminator)
256  $cbName = ord($recordData{33});
257 
258  // offset: 34; size: 1; unused2
259  $unused2 = ord($recordData{34});
260 
261  // offset: 35; size: 1; unused3
262  $unused3 = ord($recordData{35});
263 
264  // offset: 36; size: $cbName; nameData
265  $nameData = substr($recordData, 36, $cbName);
266 
267  // offset: 36 + $cbName, size: var; the BLIP data
268  $blipData = substr($recordData, 36 + $cbName);
269 
270  // record is a container, read contents
272  $reader->load($blipData);
273  }
$size
Definition: RandomTest.php:84
static _GetInt2d($data, $pos)
Read 16-bit unsigned integer.
Definition: Excel5.php:6774
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
if(function_exists('posix_getuid') &&posix_getuid()===0) if(!array_key_exists('t', $options)) $tag
Definition: cron.php:35
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readBstoreContainer()

PHPExcel_Reader_Excel5_Escher::_readBstoreContainer ( )
private

Read BstoreContainer record (Blip Store Container)

Definition at line 194 of file Escher.php.

References $reader, and PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

195  {
196  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
197  $recordData = substr($this->_data, $this->_pos + 8, $length);
198 
199  // move stream pointer to next record
200  $this->_pos += 8 + $length;
201 
202  // record is a container, read contents
204  $this->_object->setBstoreContainer($bstoreContainer);
205  $reader = new PHPExcel_Reader_Excel5_Escher($bstoreContainer);
206  $reader->load($recordData);
207  }
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readClientAnchor()

PHPExcel_Reader_Excel5_Escher::_readClientAnchor ( )
private

Read ClientAnchor record.

This record holds information about where the shape is anchored in worksheet

Definition at line 532 of file Escher.php.

References PHPExcel_Reader_Excel5\_GetInt2d(), PHPExcel_Reader_Excel5\_GetInt4d(), and PHPExcel_Cell\stringFromColumnIndex().

Referenced by load().

533  {
534  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
535  $recordData = substr($this->_data, $this->_pos + 8, $length);
536 
537  // move stream pointer to next record
538  $this->_pos += 8 + $length;
539 
540  // offset: 2; size: 2; upper-left corner column index (0-based)
541  $c1 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 2);
542 
543  // offset: 4; size: 2; upper-left corner horizontal offset in 1/1024 of column width
544  $startOffsetX = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 4);
545 
546  // offset: 6; size: 2; upper-left corner row index (0-based)
547  $r1 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 6);
548 
549  // offset: 8; size: 2; upper-left corner vertical offset in 1/256 of row height
550  $startOffsetY = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 8);
551 
552  // offset: 10; size: 2; bottom-right corner column index (0-based)
553  $c2 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 10);
554 
555  // offset: 12; size: 2; bottom-right corner horizontal offset in 1/1024 of column width
556  $endOffsetX = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 12);
557 
558  // offset: 14; size: 2; bottom-right corner row index (0-based)
559  $r2 = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 14);
560 
561  // offset: 16; size: 2; bottom-right corner vertical offset in 1/256 of row height
562  $endOffsetY = PHPExcel_Reader_Excel5::_GetInt2d($recordData, 16);
563 
564  // set the start coordinates
565  $this->_object->setStartCoordinates(PHPExcel_Cell::stringFromColumnIndex($c1) . ($r1 + 1));
566 
567  // set the start offsetX
568  $this->_object->setStartOffsetX($startOffsetX);
569 
570  // set the start offsetY
571  $this->_object->setStartOffsetY($startOffsetY);
572 
573  // set the end coordinates
574  $this->_object->setEndCoordinates(PHPExcel_Cell::stringFromColumnIndex($c2) . ($r2 + 1));
575 
576  // set the end offsetX
577  $this->_object->setEndOffsetX($endOffsetX);
578 
579  // set the end offsetY
580  $this->_object->setEndOffsetY($endOffsetY);
581  }
static _GetInt2d($data, $pos)
Read 16-bit unsigned integer.
Definition: Excel5.php:6774
static stringFromColumnIndex($pColumnIndex=0)
String from columnindex.
Definition: Cell.php:825
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readClientData()

PHPExcel_Reader_Excel5_Escher::_readClientData ( )
private

Read ClientData record.

Definition at line 586 of file Escher.php.

References PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

587  {
588  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
589  $recordData = substr($this->_data, $this->_pos + 8, $length);
590 
591  // move stream pointer to next record
592  $this->_pos += 8 + $length;
593  }
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readClientTextbox()

PHPExcel_Reader_Excel5_Escher::_readClientTextbox ( )
private

Read ClientTextbox record.

Definition at line 515 of file Escher.php.

References PHPExcel_Reader_Excel5\_GetInt2d(), and PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

516  {
517  // offset: 0; size: 2; recVer and recInstance
518 
519  // bit: 4-15; mask: 0xFFF0; recInstance
520  $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
521 
522  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
523  $recordData = substr($this->_data, $this->_pos + 8, $length);
524 
525  // move stream pointer to next record
526  $this->_pos += 8 + $length;
527  }
static _GetInt2d($data, $pos)
Read 16-bit unsigned integer.
Definition: Excel5.php:6774
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readDefault()

PHPExcel_Reader_Excel5_Escher::_readDefault ( )
private

Read a generic record.

Definition at line 143 of file Escher.php.

References PHPExcel_Reader_Excel5\_GetInt2d(), and PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

144  {
145  // offset 0; size: 2; recVer and recInstance
146  $verInstance = PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos);
147 
148  // offset: 2; size: 2: Record Type
149  $fbt = PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos + 2);
150 
151  // bit: 0-3; mask: 0x000F; recVer
152  $recVer = (0x000F & $verInstance) >> 0;
153 
154  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
155  $recordData = substr($this->_data, $this->_pos + 8, $length);
156 
157  // move stream pointer to next record
158  $this->_pos += 8 + $length;
159  }
static _GetInt2d($data, $pos)
Read 16-bit unsigned integer.
Definition: Excel5.php:6774
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readDg()

PHPExcel_Reader_Excel5_Escher::_readDg ( )
private

Read Dg record (Drawing)

Definition at line 426 of file Escher.php.

References PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

427  {
428  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
429  $recordData = substr($this->_data, $this->_pos + 8, $length);
430 
431  // move stream pointer to next record
432  $this->_pos += 8 + $length;
433  }
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readDgContainer()

PHPExcel_Reader_Excel5_Escher::_readDgContainer ( )
private

Read DgContainer record (Drawing Container)

Definition at line 408 of file Escher.php.

References $reader, and PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

409  {
410  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
411  $recordData = substr($this->_data, $this->_pos + 8, $length);
412 
413  // move stream pointer to next record
414  $this->_pos += 8 + $length;
415 
416  // record is a container, read contents
417  $dgContainer = new PHPExcel_Shared_Escher_DgContainer();
418  $this->_object->setDgContainer($dgContainer);
419  $reader = new PHPExcel_Reader_Excel5_Escher($dgContainer);
420  $escher = $reader->load($recordData);
421  }
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readDgg()

PHPExcel_Reader_Excel5_Escher::_readDgg ( )
private

Read Dgg record (Drawing Group)

Definition at line 182 of file Escher.php.

References PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

183  {
184  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
185  $recordData = substr($this->_data, $this->_pos + 8, $length);
186 
187  // move stream pointer to next record
188  $this->_pos += 8 + $length;
189  }
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readDggContainer()

PHPExcel_Reader_Excel5_Escher::_readDggContainer ( )
private

Read DggContainer record (Drawing Group Container)

Definition at line 164 of file Escher.php.

References $reader, and PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

165  {
166  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
167  $recordData = substr($this->_data, $this->_pos + 8, $length);
168 
169  // move stream pointer to next record
170  $this->_pos += 8 + $length;
171 
172  // record is a container, read contents
173  $dggContainer = new PHPExcel_Shared_Escher_DggContainer();
174  $this->_object->setDggContainer($dggContainer);
175  $reader = new PHPExcel_Reader_Excel5_Escher($dggContainer);
176  $reader->load($recordData);
177  }
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readOfficeArtRGFOPTE()

PHPExcel_Reader_Excel5_Escher::_readOfficeArtRGFOPTE (   $data,
  $n 
)
private

Read OfficeArtRGFOPTE table of property-value pairs.

Parameters
string$dataBinary data
int$nNumber of properties

Definition at line 601 of file Escher.php.

References $data, $i, $n, PHPExcel_Reader_Excel5\_GetInt2d(), and PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by _readOPT().

601  {
602 
603  $splicedComplexData = substr($data, 6 * $n);
604 
605  // loop through property-value pairs
606  for ($i = 0; $i < $n; ++$i) {
607  // read 6 bytes at a time
608  $fopte = substr($data, 6 * $i, 6);
609 
610  // offset: 0; size: 2; opid
611  $opid = PHPExcel_Reader_Excel5::_GetInt2d($fopte, 0);
612 
613  // bit: 0-13; mask: 0x3FFF; opid.opid
614  $opidOpid = (0x3FFF & $opid) >> 0;
615 
616  // bit: 14; mask 0x4000; 1 = value in op field is BLIP identifier
617  $opidFBid = (0x4000 & $opid) >> 14;
618 
619  // bit: 15; mask 0x8000; 1 = this is a complex property, op field specifies size of complex data
620  $opidFComplex = (0x8000 & $opid) >> 15;
621 
622  // offset: 2; size: 4; the value for this property
623  $op = PHPExcel_Reader_Excel5::_GetInt4d($fopte, 2);
624 
625  if ($opidFComplex) {
626  $complexData = substr($splicedComplexData, 0, $op);
627  $splicedComplexData = substr($splicedComplexData, $op);
628 
629  // we store string value with complex data
630  $value = $complexData;
631  } else {
632  // we store integer value
633  $value = $op;
634  }
635 
636  $this->_object->setOPT($opidOpid, $value);
637  }
638  }
static _GetInt2d($data, $pos)
Read 16-bit unsigned integer.
Definition: Excel5.php:6774
$n
Definition: RandomTest.php:85
$i
Definition: disco.tpl.php:19
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readOPT()

PHPExcel_Reader_Excel5_Escher::_readOPT ( )
private

Read OPT record.

This record may occur within DggContainer record or SpContainer

Definition at line 360 of file Escher.php.

References PHPExcel_Reader_Excel5\_GetInt2d(), PHPExcel_Reader_Excel5\_GetInt4d(), and _readOfficeArtRGFOPTE().

Referenced by load().

361  {
362  // offset: 0; size: 2; recVer and recInstance
363 
364  // bit: 4-15; mask: 0xFFF0; recInstance
365  $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
366 
367  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
368  $recordData = substr($this->_data, $this->_pos + 8, $length);
369 
370  // move stream pointer to next record
371  $this->_pos += 8 + $length;
372 
373  $this->_readOfficeArtRGFOPTE($recordData, $recInstance);
374  }
_readOfficeArtRGFOPTE($data, $n)
Read OfficeArtRGFOPTE table of property-value pairs.
Definition: Escher.php:601
static _GetInt2d($data, $pos)
Read 16-bit unsigned integer.
Definition: Excel5.php:6774
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readSp()

PHPExcel_Reader_Excel5_Escher::_readSp ( )
private

Read Sp record (Shape)

Definition at line 498 of file Escher.php.

References PHPExcel_Reader_Excel5\_GetInt2d(), and PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

499  {
500  // offset: 0; size: 2; recVer and recInstance
501 
502  // bit: 4-15; mask: 0xFFF0; recInstance
503  $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
504 
505  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
506  $recordData = substr($this->_data, $this->_pos + 8, $length);
507 
508  // move stream pointer to next record
509  $this->_pos += 8 + $length;
510  }
static _GetInt2d($data, $pos)
Read 16-bit unsigned integer.
Definition: Excel5.php:6774
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readSpContainer()

PHPExcel_Reader_Excel5_Escher::_readSpContainer ( )
private

Read SpContainer record (Shape Container)

Definition at line 466 of file Escher.php.

References $reader, and PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

467  {
468  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
469  $recordData = substr($this->_data, $this->_pos + 8, $length);
470 
471  // add spContainer to spgrContainer
473  $this->_object->addChild($spContainer);
474 
475  // move stream pointer to next record
476  $this->_pos += 8 + $length;
477 
478  // record is a container, read contents
479  $reader = new PHPExcel_Reader_Excel5_Escher($spContainer);
480  $escher = $reader->load($recordData);
481  }
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readSpgr()

PHPExcel_Reader_Excel5_Escher::_readSpgr ( )
private

Read Spgr record (Shape Group)

Definition at line 486 of file Escher.php.

References PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

487  {
488  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
489  $recordData = substr($this->_data, $this->_pos + 8, $length);
490 
491  // move stream pointer to next record
492  $this->_pos += 8 + $length;
493  }
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readSpgrContainer()

PHPExcel_Reader_Excel5_Escher::_readSpgrContainer ( )
private

Read SpgrContainer record (Shape Group Container)

Definition at line 438 of file Escher.php.

References $reader, and PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

439  {
440  // context is either context DgContainer or SpgrContainer
441 
442  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
443  $recordData = substr($this->_data, $this->_pos + 8, $length);
444 
445  // move stream pointer to next record
446  $this->_pos += 8 + $length;
447 
448  // record is a container, read contents
450 
451  if ($this->_object instanceof PHPExcel_Shared_Escher_DgContainer) {
452  // DgContainer
453  $this->_object->setSpgrContainer($spgrContainer);
454  } else {
455  // SpgrContainer
456  $this->_object->addChild($spgrContainer);
457  }
458 
459  $reader = new PHPExcel_Reader_Excel5_Escher($spgrContainer);
460  $escher = $reader->load($recordData);
461  }
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readSplitMenuColors()

PHPExcel_Reader_Excel5_Escher::_readSplitMenuColors ( )
private

Read SplitMenuColors record.

Definition at line 396 of file Escher.php.

References PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

397  {
398  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
399  $recordData = substr($this->_data, $this->_pos + 8, $length);
400 
401  // move stream pointer to next record
402  $this->_pos += 8 + $length;
403  }
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _readTertiaryOPT()

PHPExcel_Reader_Excel5_Escher::_readTertiaryOPT ( )
private

Read TertiaryOPT record.

Definition at line 379 of file Escher.php.

References PHPExcel_Reader_Excel5\_GetInt2d(), and PHPExcel_Reader_Excel5\_GetInt4d().

Referenced by load().

380  {
381  // offset: 0; size: 2; recVer and recInstance
382 
383  // bit: 4-15; mask: 0xFFF0; recInstance
384  $recInstance = (0xFFF0 & PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos)) >> 4;
385 
386  $length = PHPExcel_Reader_Excel5::_GetInt4d($this->_data, $this->_pos + 4);
387  $recordData = substr($this->_data, $this->_pos + 8, $length);
388 
389  // move stream pointer to next record
390  $this->_pos += 8 + $length;
391  }
static _GetInt2d($data, $pos)
Read 16-bit unsigned integer.
Definition: Excel5.php:6774
static _GetInt4d($data, $pos)
Read 32-bit signed integer.
Definition: Excel5.php:6787
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ load()

PHPExcel_Reader_Excel5_Escher::load (   $data)

Load Escher stream data.

May be a partial Escher stream.

Parameters
string$data

Definition at line 99 of file Escher.php.

References $_object, $data, PHPExcel_Reader_Excel5\_GetInt2d(), _readBlipJPEG(), _readBlipPNG(), _readBSE(), _readBstoreContainer(), _readClientAnchor(), _readClientData(), _readClientTextbox(), _readDefault(), _readDg(), _readDgContainer(), _readDgg(), _readDggContainer(), _readOPT(), _readSp(), _readSpContainer(), _readSpgr(), _readSpgrContainer(), _readSplitMenuColors(), and _readTertiaryOPT().

100  {
101  $this->_data = $data;
102 
103  // total byte size of Excel data (workbook global substream + sheet substreams)
104  $this->_dataSize = strlen($this->_data);
105 
106  $this->_pos = 0;
107 
108  // Parse Escher stream
109  while ($this->_pos < $this->_dataSize) {
110 
111  // offset: 2; size: 2: Record Type
112  $fbt = PHPExcel_Reader_Excel5::_GetInt2d($this->_data, $this->_pos + 2);
113 
114  switch ($fbt) {
115  case self::DGGCONTAINER: $this->_readDggContainer(); break;
116  case self::DGG: $this->_readDgg(); break;
117  case self::BSTORECONTAINER: $this->_readBstoreContainer(); break;
118  case self::BSE: $this->_readBSE(); break;
119  case self::BLIPJPEG: $this->_readBlipJPEG(); break;
120  case self::BLIPPNG: $this->_readBlipPNG(); break;
121  case self::OPT: $this->_readOPT(); break;
122  case self::TERTIARYOPT: $this->_readTertiaryOPT(); break;
123  case self::SPLITMENUCOLORS: $this->_readSplitMenuColors(); break;
124  case self::DGCONTAINER: $this->_readDgContainer(); break;
125  case self::DG: $this->_readDg(); break;
126  case self::SPGRCONTAINER: $this->_readSpgrContainer(); break;
127  case self::SPCONTAINER: $this->_readSpContainer(); break;
128  case self::SPGR: $this->_readSpgr(); break;
129  case self::SP: $this->_readSp(); break;
130  case self::CLIENTTEXTBOX: $this->_readClientTextbox(); break;
131  case self::CLIENTANCHOR: $this->_readClientAnchor(); break;
132  case self::CLIENTDATA: $this->_readClientData(); break;
133  default: $this->_readDefault(); break;
134  }
135  }
136 
137  return $this->_object;
138  }
_readTertiaryOPT()
Read TertiaryOPT record.
Definition: Escher.php:379
_readBstoreContainer()
Read BstoreContainer record (Blip Store Container)
Definition: Escher.php:194
_readClientAnchor()
Read ClientAnchor record.
Definition: Escher.php:532
_readBSE()
Read BSE record.
Definition: Escher.php:212
_readSpgr()
Read Spgr record (Shape Group)
Definition: Escher.php:486
_readDgg()
Read Dgg record (Drawing Group)
Definition: Escher.php:182
_readBlipPNG()
Read BlipPNG record.
Definition: Escher.php:319
_readDgContainer()
Read DgContainer record (Drawing Container)
Definition: Escher.php:408
_readClientTextbox()
Read ClientTextbox record.
Definition: Escher.php:515
static _GetInt2d($data, $pos)
Read 16-bit unsigned integer.
Definition: Excel5.php:6774
_readSplitMenuColors()
Read SplitMenuColors record.
Definition: Escher.php:396
_readSpContainer()
Read SpContainer record (Shape Container)
Definition: Escher.php:466
_readSp()
Read Sp record (Shape)
Definition: Escher.php:498
_readClientData()
Read ClientData record.
Definition: Escher.php:586
_readDefault()
Read a generic record.
Definition: Escher.php:143
_readBlipJPEG()
Read BlipJPEG record.
Definition: Escher.php:278
_readDggContainer()
Read DggContainer record (Drawing Group Container)
Definition: Escher.php:164
_readSpgrContainer()
Read SpgrContainer record (Shape Group Container)
Definition: Escher.php:438
_readOPT()
Read OPT record.
Definition: Escher.php:360
_readDg()
Read Dg record (Drawing)
Definition: Escher.php:426
+ Here is the call graph for this function:

Field Documentation

◆ $_data

PHPExcel_Reader_Excel5_Escher::$_data
private

Definition at line 61 of file Escher.php.

◆ $_dataSize

PHPExcel_Reader_Excel5_Escher::$_dataSize
private

Definition at line 68 of file Escher.php.

◆ $_object

PHPExcel_Reader_Excel5_Escher::$_object
private

Definition at line 82 of file Escher.php.

Referenced by load().

◆ $_pos

PHPExcel_Reader_Excel5_Escher::$_pos
private

Definition at line 75 of file Escher.php.

◆ BLIPJPEG

const PHPExcel_Reader_Excel5_Escher::BLIPJPEG = 0xF01D

Definition at line 51 of file Escher.php.

◆ BLIPPNG

const PHPExcel_Reader_Excel5_Escher::BLIPPNG = 0xF01E

Definition at line 52 of file Escher.php.

◆ BSE

const PHPExcel_Reader_Excel5_Escher::BSE = 0xF007

Definition at line 43 of file Escher.php.

◆ BSTORECONTAINER

const PHPExcel_Reader_Excel5_Escher::BSTORECONTAINER = 0xF001

Definition at line 38 of file Escher.php.

◆ CLIENTANCHOR

const PHPExcel_Reader_Excel5_Escher::CLIENTANCHOR = 0xF010

Definition at line 49 of file Escher.php.

◆ CLIENTDATA

const PHPExcel_Reader_Excel5_Escher::CLIENTDATA = 0xF011

Definition at line 50 of file Escher.php.

◆ CLIENTTEXTBOX

const PHPExcel_Reader_Excel5_Escher::CLIENTTEXTBOX = 0xF00D

Definition at line 48 of file Escher.php.

◆ DG

const PHPExcel_Reader_Excel5_Escher::DG = 0xF008

Definition at line 44 of file Escher.php.

◆ DGCONTAINER

const PHPExcel_Reader_Excel5_Escher::DGCONTAINER = 0xF002

Definition at line 39 of file Escher.php.

◆ DGG

const PHPExcel_Reader_Excel5_Escher::DGG = 0xF006

Definition at line 42 of file Escher.php.

◆ DGGCONTAINER

const PHPExcel_Reader_Excel5_Escher::DGGCONTAINER = 0xF000

Definition at line 37 of file Escher.php.

◆ OPT

const PHPExcel_Reader_Excel5_Escher::OPT = 0xF00B

Definition at line 47 of file Escher.php.

◆ SP

const PHPExcel_Reader_Excel5_Escher::SP = 0xF00A

Definition at line 46 of file Escher.php.

◆ SPCONTAINER

const PHPExcel_Reader_Excel5_Escher::SPCONTAINER = 0xF004

Definition at line 41 of file Escher.php.

◆ SPGR

const PHPExcel_Reader_Excel5_Escher::SPGR = 0xF009

Definition at line 45 of file Escher.php.

◆ SPGRCONTAINER

const PHPExcel_Reader_Excel5_Escher::SPGRCONTAINER = 0xF003

Definition at line 40 of file Escher.php.

◆ SPLITMENUCOLORS

const PHPExcel_Reader_Excel5_Escher::SPLITMENUCOLORS = 0xF11E

Definition at line 53 of file Escher.php.

◆ TERTIARYOPT

const PHPExcel_Reader_Excel5_Escher::TERTIARYOPT = 0xF122

Definition at line 54 of file Escher.php.


The documentation for this class was generated from the following file: