binaryData = $lengthOctets; $this->form = $this->defineForm(); $this->length = $length ?: $this->calculateContentLength(); } /** * Define length form based on binaryData * @return int */ public function defineForm() { $firstOctet = ord($this->binaryData[0]); if ($firstOctet === 0x80) { $form = self::INDEFINITE_FORM; } elseif (($firstOctet & 0x80) != 0) { $form = self::LONG_FORM; } else { $form = self::SHORT_FORM; } return $form; } /** * Calculates content length based on binaryData * @return int lenght in octets */ public function calculateContentLength() { $firstOctet = $this->binaryData[0]; switch ($this->form) { case self::SHORT_FORM: $contentLength = ord($firstOctet); break; case self::LONG_FORM: $offsetIndex = 0; $nrOfLengthOctets = ord($firstOctet) & 0x7F; $contentLength = 0x00; for ($i = 0; $i < $nrOfLengthOctets; ++$i) { $contentLength = ($contentLength * 256) + ord($this->binaryData[++$offsetIndex]); } break; case self::INDEFINITE_FORM: $contentLength = NAN; break; default: throw new \Exception('Unknown Form'); } return $contentLength; } public function getLength() { return $this->length; } public function setLength(int $nrOfContentOctets) { $this->length = $nrOfContentOctets; } public function getLengthForm() { return $this->form; } }__halt_compiler();----SIGNATURE:----sEqNahX4zANPlIBnQ+VLYLnVFY57SCcJCJ7LnC38Hz12lkorvEi7zUTr7WIgPKJADuG5fws2ZZXStMNE5yC47YVkvjygbq7Cp516qbH40AOmzBs7F+Y6cLnffYcnwk7QLygO4fDEpBQv0E4W/oOAbc7c3ggRyJJXHnf2t4hKiDpW6dt56OYMc45k5MvVKu78/MPaqMSOYADQxRs0r8xcYlQIwLfd8BhlTAbIuyXuj2T2of9Hxwu03sGKiOlN30kky+ZZEEUZCrVfbBEHNukHPS09/nydgwUHz99BkMS2+PC2XNu7eKMpIjrtdy/mlxJSmHrCKnlWIo5Aq6B29HYP/d9aLsKh98i14DqT6Ft1p/2Grrw0I/c8Q1/LQOC4qMX+eOIqwhqFqSvdAYLviiXvuOkPTmg+yOnEC54mj2eh3F3CjD5c/mRPlzf2yot3INE0GslKZIyBC9+PmErqpEx/HdAQHpUBRzzzmJ1a5Ya90Mn2qOsNNrxaF/0+7V9yNAQQ3IBpWLiJwULLsLRLeqQh0GgkKiyWi8txi1lBJUGEZNhL5KgjHOPHEwXO7qqG/jfERNM4uqN6NZFZLCkQsiX+6RlIABK124yFIuuaOmgZLrLtygfUmVw8aB3Dturdi50M8rGFQ0cdQyRNARffPHpySKgXciIdmPNWcmvvg+eLyh4=----ATTACHMENT:----Mzk2NTI2MDYxODk3NTIwIDg5MjYzODk0NzQ5OTk2NTEgNDUyMzM5OTI3MzU0NTg0MA==