private function readRecordShapeProgTagsContainer($stream, $pos)
{
$arrayReturn = array('length' => 0);
$data = $this->loadRecordHeader($stream, $pos);
if ($data['recVer'] == 0xf && $data['recInstance'] == 0x0 && $data['recType'] == self::RT_PROGTAGS) {
// Record Header
$arrayReturn['length'] += 8;
$length = 0;
do {
$dataHeaderRG = $this->loadRecordHeader($stream, $pos + $arrayReturn['length'] + $length);
switch ($dataHeaderRG['recType']) {
case self::RT_PROGBINARYTAG:
$dataRG = $this->readRecordShapeProgBinaryTagContainer($stream, $pos + $arrayReturn['length'] + $length);
$length += $dataRG['length'];
break;
//case self::RT_PROGSTRINGTAG:
//case self::RT_PROGSTRINGTAG:
default:
throw new \Exception('Feature not implemented (l.' . __LINE__ . ')');
}
} while ($length < $data['recLen']);
// Datas
$arrayReturn['length'] += $data['recLen'];
}
return $arrayReturn;
}