protected function decodeUserParameters($userParameters)
    {
        $userParameters = bin2hex($userParameters);

        // Save the 96-byte array of reserved data, so as to not ruin anything that may be stored there.
        $this->preBinary = hex2bin(substr($userParameters, 0, 96));
        // The signature is a 2-byte unicode character at the front
        $this->signature = MbString::chr(hexdec(substr($userParameters, 96, 2)));
        // This asserts the validity of the tsPropertyArray data. For some reason 'P' means valid...
        if ($this->signature != self::VALID_SIGNATURE) {
            throw new InvalidArgumentException('Invalid TSPropertyArray data');
        }

        // The property count is a 2-byte unsigned integer indicating the number of elements for the tsPropertyArray
        // It starts at position 98. The actual variable data begins at position 100.
        $length = $this->addTSPropData(substr($userParameters, 100), hexdec(substr($userParameters, 98, 2)));

        // Reserved data length + (count and sig length == 4) + the added lengths of the TSPropertyArray
        // This saves anything after that variable TSPropertyArray data, so as to not squash anything stored there
        if (strlen($userParameters) > (96 + 4 + $length)) {
            $this->postBinary = hex2bin(substr($userParameters, (96 + 4 + $length)));
        }
    }
protected function decodeUserParameters($userParameters)
    {
        $userParameters = bin2hex($userParameters);

        // Save the 96-byte array of reserved data, so as to not ruin anything that may be stored there.
        $this->preBinary = hex2bin(substr($userParameters, 0, 96));
        // The signature is a 2-byte unicode character at the front
        $this->signature = MbString::chr(hexdec(substr($userParameters, 96, 2)));
        // This asserts the validity of the tsPropertyArray data. For some reason 'P' means valid...
        if ($this->signature != self::VALID_SIGNATURE) {
            throw new InvalidArgumentException('Invalid TSPropertyArray data');
        }

        // The property count is a 2-byte unsigned integer indicating the number of elements for the tsPropertyArray
        // It starts at position 98. The actual variable data begins at position 100.
        $length = $this->addTSPropData(substr($userParameters, 100), hexdec(substr($userParameters, 98, 2)));

        // Reserved data length + (count and sig length == 4) + the added lengths of the TSPropertyArray
        // This saves anything after that variable TSPropertyArray data, so as to not squash anything stored there
        if (strlen($userParameters) > (96 + 4 + $length)) {
            $this->postBinary = hex2bin(substr($userParameters, (96 + 4 + $length)));
        }
    }
protected function decodeUserParameters ( $ userParameters ) { $ userParameters = bin2hex ( $ userParameters ) ; // Save the 96-byte array of reserved data, so as to not ruin anything that may be stored there. $ this -> preBinary = hex2bin ( substr ( $ userParameters , 0 , 96 ) ) ; // The signature is a 2-byte unicode character at the front $ this -> signature = MbString :: chr ( hexdec ( substr ( $ userParameters , 96 , 2 ) ) ) ; // This asserts the validity of the tsPropertyArray data. For some reason 'P' means valid... if ( $ this -> signature != self :: VALID_SIGNATURE ) { throw new InvalidArgumentException ( 'Invalid TSPropertyArray data' ) ; } // The property count is a 2-byte unsigned integer indicating the number of elements for the tsPropertyArray // It starts at position 98. The actual variable data begins at position 100. $ length = $ this -> addTSPropData ( substr ( $ userParameters , 100 ) , hexdec ( substr ( $ userParameters , 98 , 2 ) ) ) ; // Reserved data length + (count and sig length == 4) + the added lengths of the TSPropertyArray // This saves anything after that variable TSPropertyArray data, so as to not squash anything stored there if ( strlen ( $ userParameters ) > ( 96 + 4 + $ length ) ) { $ this -> postBinary = hex2bin ( substr ( $ userParameters , ( 96 + 4 + $ length ) ) ) ; } }
Get an associative array with all of the userParameters property names and values.

@param string $userParameters

@return void
Get an associative array with all of the userParameters property names and values .