PhpOffice\PhpPresentation\Reader\PowerPoint97::readRecordPersistDirectoryAtom PHP Метод

readRecordPersistDirectoryAtom() приватный Метод

An atom record that specifies a persist object directory. Each persist object identifier specified MUST be unique in that persist object directory.
private readRecordPersistDirectoryAtom ( string $stream, integer $pos )
$stream string
$pos integer
    private function readRecordPersistDirectoryAtom($stream, $pos)
    {
        $rHeader = $this->loadRecordHeader($stream, $pos);
        $pos += 8;
        if ($rHeader['recVer'] != 0x0 || $rHeader['recInstance'] != 0x0 || $rHeader['recType'] != self::RT_PERSISTDIRECTORYATOM) {
            throw new \Exception('File PowerPoint 97 in error (Location : PersistDirectoryAtom > RecordHeader).');
        }
        // rgPersistDirEntry
        // @link : http://msdn.microsoft.com/en-us/library/dd947347(v=office.12).aspx
        do {
            $data = self::getInt4d($stream, $pos);
            $pos += 4;
            $rHeader['recLen'] -= 4;
            //$persistId  = ($data >> 0) & bindec('11111111111111111111');
            $cPersist = $data >> 20 & bindec('111111111111');
            $rgPersistOffset = array();
            for ($inc = 0; $inc < $cPersist; $inc++) {
                $rgPersistOffset[] = self::getInt4d($stream, $pos);
                $pos += 4;
                $rHeader['recLen'] -= 4;
            }
        } while ($rHeader['recLen'] > 0);
        $this->rgPersistDirEntry = $rgPersistOffset;
    }
PowerPoint97