Root
extends PPS
in package
Class for creating Root PPS's for OLE containers.
Tags
Table of Contents
Constants
- ALL_ONE_BITS = (PHP_INT_SIZE > 4) ? 0xffffffff : -1
Properties
- $_data : string
- The PPS's data (only used if it's not using a temporary file).
- $children : array<string|int, mixed>
- Array of child PPS's (only used by Root and Dir PPS's).
- $DirPps : int
- The index of it's first child if this is a Dir or Root PPS.
- $Name : string
- The PPS name (in Unicode).
- $NextPps : int
- The index of the next PPS.
- $No : int
- The PPS index.
- $ole : OLE
- Pointer to OLE container.
- $PrevPps : int
- The index of the previous PPS.
- $Size : int
- The size of the PPS's data (in bytes).
- $startBlock : int|null
- Starting block (small or big) for this PPS's data inside the container.
- $Time1st : float|int
- A timestamp.
- $Time2nd : float|int
- A timestamp.
- $Type : int
- The PPS type. Dir, Root or File.
- $bigBlockSize : int|null
- $fileHandle : resource
- $smallBlockSize : int|null
Methods
- __construct() : mixed
- The constructor.
- getDataLen() : int
- Returns the amount of data saved for this PPS.
- getPpsWk() : string
- Returns a string with the PPS's WK (What is a WK?).
- save() : bool
- Method for saving the whole OLE container (including files).
- savePpsSetPnt() : int
- Updates index and pointers to previous, next and children PPS's for this PPS. I don't think it'll work with Dir PPS's.
- adjust2() : float
- Helper function for caculating a magic value for block sizes.
- calcSize() : array<string|int, float>
- Calculate some numbers.
- makeSmallData() : string
- get small data (PPS's with data smaller than \PhpOffice\PhpSpreadsheet\Shared\OLE::OLE_DATA_SIZE_SMALL).
- saveBbd() : void
- Saving Big Block Depot.
- saveBigData() : void
- Saving big data (PPS's with data bigger than \PhpOffice\PhpSpreadsheet\Shared\OLE::OLE_DATA_SIZE_SMALL).
- saveHeader() : void
- Save OLE header.
- savePps() : void
- Saves all the PPS's WKs.
Constants
ALL_ONE_BITS
private
mixed
ALL_ONE_BITS
= (PHP_INT_SIZE > 4) ? 0xffffffff : -1
Properties
$_data
The PPS's data (only used if it's not using a temporary file).
public
string
$_data
= ''
$children
Array of child PPS's (only used by Root and Dir PPS's).
public
array<string|int, mixed>
$children
= []
$DirPps
The index of it's first child if this is a Dir or Root PPS.
public
int
$DirPps
$Name
The PPS name (in Unicode).
public
string
$Name
$NextPps
The index of the next PPS.
public
int
$NextPps
$No
The PPS index.
public
int
$No
$ole
Pointer to OLE container.
public
OLE
$ole
$PrevPps
The index of the previous PPS.
public
int
$PrevPps
$Size
The size of the PPS's data (in bytes).
public
int
$Size
$startBlock
Starting block (small or big) for this PPS's data inside the container.
public
int|null
$startBlock
= null
$Time1st
A timestamp.
public
float|int
$Time1st
$Time2nd
A timestamp.
public
float|int
$Time2nd
$Type
The PPS type. Dir, Root or File.
public
int
$Type
$bigBlockSize
private
int|null
$bigBlockSize
= null
$fileHandle
private
resource
$fileHandle
$smallBlockSize
private
int|null
$smallBlockSize
= null
Methods
__construct()
The constructor.
public
__construct(null|float|int $time_1st, null|float|int $time_2nd, array<string|int, File> $raChild) : mixed
Parameters
- $time_1st : null|float|int
-
A timestamp
- $time_2nd : null|float|int
-
A timestamp
- $raChild : array<string|int, File>
getDataLen()
Returns the amount of data saved for this PPS.
public
getDataLen() : int
Return values
int —The amount of data (in bytes)
getPpsWk()
Returns a string with the PPS's WK (What is a WK?).
public
getPpsWk() : string
Return values
string —The binary string
save()
Method for saving the whole OLE container (including files).
public
save(resource $fileHandle) : bool
In fact, if called with an empty argument (or '-'), it saves to a temporary file and then outputs it's contents to stdout. If a resource pointer to a stream created by fopen() is passed it will be used, but you have to close such stream by yourself.
Parameters
- $fileHandle : resource
-
the name of the file or stream where to save the OLE container
Return values
bool —true on success
savePpsSetPnt()
Updates index and pointers to previous, next and children PPS's for this PPS. I don't think it'll work with Dir PPS's.
public
static savePpsSetPnt(array<string|int, mixed> &$raList, mixed $to_save[, int $depth = 0 ]) : int
Parameters
- $raList : array<string|int, mixed>
-
Reference to the array of PPS's for the whole OLE container
- $to_save : mixed
- $depth : int = 0
Return values
int —The index for this PPS
adjust2()
Helper function for caculating a magic value for block sizes.
private
static adjust2(int $i2) : float
Parameters
- $i2 : int
-
The argument
Tags
Return values
floatcalcSize()
Calculate some numbers.
private
calcSize(array<string|int, mixed> &$raList) : array<string|int, float>
Parameters
- $raList : array<string|int, mixed>
-
Reference to an array of PPS's
Return values
array<string|int, float> —The array of numbers
makeSmallData()
get small data (PPS's with data smaller than \PhpOffice\PhpSpreadsheet\Shared\OLE::OLE_DATA_SIZE_SMALL).
private
makeSmallData(array<string|int, mixed> &$raList) : string
Parameters
- $raList : array<string|int, mixed>
-
Reference to array of PPS's
Return values
stringsaveBbd()
Saving Big Block Depot.
private
saveBbd(int $iSbdSize, int $iBsize, int $iPpsCnt) : void
Parameters
- $iSbdSize : int
- $iBsize : int
- $iPpsCnt : int
saveBigData()
Saving big data (PPS's with data bigger than \PhpOffice\PhpSpreadsheet\Shared\OLE::OLE_DATA_SIZE_SMALL).
private
saveBigData(int $iStBlk, array<string|int, mixed> &$raList) : void
Parameters
- $iStBlk : int
- $raList : array<string|int, mixed>
-
Reference to array of PPS's
saveHeader()
Save OLE header.
private
saveHeader(int $iSBDcnt, int $iBBcnt, int $iPPScnt) : void
Parameters
- $iSBDcnt : int
- $iBBcnt : int
- $iPPScnt : int
savePps()
Saves all the PPS's WKs.
private
savePps(array<string|int, mixed> &$raList) : void
Parameters
- $raList : array<string|int, mixed>
-
Reference to an array with all PPS's