Inheritance diagram for OLE_PPS:
Collaboration diagram for OLE_PPS:Public Member Functions | |
| OLE_PPS ($No, $name, $type, $prev, $next, $dir, $time_1st, $time_2nd, $data, $children) | |
| The constructor. | |
| _DataLen () | |
| Returns the amount of data saved for this PPS. | |
| _getPpsWk () | |
| Returns a string with the PPS's WK (What is a WK?). | |
| _savePpsSetPnt (&$pps_array) | |
| Updates index and pointers to previous, next and children PPS's for this PPS. | |
Data Fields | |
| $No | |
| $Name | |
| $Type | |
| $PrevPps | |
| $NextPps | |
| $DirPps | |
| $Time1st | |
| $Time2nd | |
| $_StartBlock | |
| $Size | |
| $_data | |
| $children = array() | |
Definition at line 33 of file PPS.php.
| OLE_PPS::_DataLen | ( | ) |
Returns the amount of data saved for this PPS.
private
Definition at line 147 of file PPS.php.
{
if (!isset($this->_data)) {
return 0;
}
if (isset($this->_PPS_FILE))
{
fseek($this->_PPS_FILE, 0);
$stats = fstat($this->_PPS_FILE);
return $stats[7];
}
else {
return strlen($this->_data);
}
}
| OLE_PPS::_getPpsWk | ( | ) |
Returns a string with the PPS's WK (What is a WK?).
private
Definition at line 169 of file PPS.php.
References OLE::LocalDate2OLE().
Referenced by OLE_PPS_Root::_savePps().
{
$ret = $this->Name;
for ($i = 0; $i < (64 - strlen($this->Name)); $i++) {
$ret .= "\x00";
}
$ret .= pack("v", strlen($this->Name) + 2) // 66
. pack("c", $this->Type) // 67
. pack("c", 0x00) //UK // 68
. pack("V", $this->PrevPps) //Prev // 72
. pack("V", $this->NextPps) //Next // 76
. pack("V", $this->DirPps) //Dir // 80
. "\x00\x09\x02\x00" // 84
. "\x00\x00\x00\x00" // 88
. "\xc0\x00\x00\x00" // 92
. "\x00\x00\x00\x46" // 96 // Seems to be ok only for Root
. "\x00\x00\x00\x00" // 100
. OLE::LocalDate2OLE($this->Time1st) // 108
. OLE::LocalDate2OLE($this->Time2nd) // 116
. pack("V", isset($this->_StartBlock)?
$this->_StartBlock:0) // 120
. pack("V", $this->Size) // 124
. pack("V", 0); // 128
return $ret;
}
Here is the call graph for this function:
Here is the caller graph for this function:| OLE_PPS::_savePpsSetPnt | ( | &$ | pps_array | ) |
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.
private
| array | &$pps_array Reference to the array of PPS's for the whole OLE container |
Definition at line 204 of file PPS.php.
Referenced by OLE_PPS_Root::save().
{
$pps_array[count($pps_array)] = &$this;
$this->No = count($pps_array) - 1;
$this->PrevPps = 0xFFFFFFFF;
$this->NextPps = 0xFFFFFFFF;
if (count($this->children) > 0) {
$this->DirPps = $this->children[0]->_savePpsSetPnt($pps_array);
}
else {
$this->DirPps = 0xFFFFFFFF;
}
return $this->No;
}
Here is the caller graph for this function:| OLE_PPS::OLE_PPS | ( | $ | No, | |
| $ | name, | |||
| $ | type, | |||
| $ | prev, | |||
| $ | next, | |||
| $ | dir, | |||
| $ | time_1st, | |||
| $ | time_2nd, | |||
| $ | data, | |||
| $ | children | |||
| ) |
The constructor.
public
| integer | $No The PPS index | |
| string | $name The PPS name (in Unicode) | |
| integer | $type The PPS type. Dir, Root or File | |
| integer | $prev The index of the previous PPS | |
| integer | $next The index of the next PPS | |
| integer | $dir The index of it's first child if this is a Dir or Root PPS | |
| integer | $time_1st A timestamp | |
| integer | $time_2nd A timestamp | |
| array | $children Array containing children PPS for this PPS |
Definition at line 121 of file PPS.php.
References $children, $data, $No, and $type.
Referenced by OLE_PPS_File::OLE_PPS_File(), and OLE_PPS_Root::OLE_PPS_Root().
{
$this->No = $No;
$this->Name = $name;
$this->Type = $type;
$this->PrevPps = $prev;
$this->NextPps = $next;
$this->DirPps = $dir;
$this->Time1st = $time_1st;
$this->Time2nd = $time_2nd;
$this->_data = $data;
$this->children = $children;
if ($data != '') {
$this->Size = strlen($data);
}
else {
$this->Size = 0;
}
}
Here is the caller graph for this function:
1.7.1