PHP Класс LdapTools\Utilities\TSProperty

См. также: https://msdn.microsoft.com/en-us/library/ff635169.aspx
См. также: http://daduke.org/linux/userparameters.html
Автор: Chad Sikorra ([email protected])
Показать файл Открыть проект Примеры использования класса

Защищенные свойства (Protected)

Свойство Тип Описание
$name The property name.
$propTypes array There are some names that are simple repeats but have 'W' at the end. Not sure as to what that signifies. I cannot find any information on them in Microsoft documentation. However, their values appear to stay in sync with their non 'W' counterparts. But not doing so when manipulating the data manually does not seem to affect anything. This probably needs more investigation.
$value The property value.
$valueType The property value type.

Открытые методы

Метод Описание
__construct ( string | null $value = null )
getName ( ) : string Get the name for the TSProperty.
getValue ( ) : string | integer Get the value for the TSProperty.
setName ( string $name ) Set the name for the TSProperty.
setValue ( string | integer $value ) Set the value for the TSProperty.
toBinary ( ) : string Convert the TSProperty name/value back to its binary representation for the userParameters blob.

Защищенные методы

Метод Описание
dec2hex ( integer $int, integer $padLength = 2 ) : string Need to make sure hex values are always an even length, so pad as needed.
decode ( string $tsProperty ) Given a TSProperty blob, decode the name/value/type/etc.
decodePropValue ( string $hex, boolean $string = false ) : string Decode the property by inspecting the nibbles of each blob, checking the control, and adding up the results into a final value.
encodePropValue ( string $value, boolean $string = false ) : string Get the encoded property value as a binary blob.
getDecodedValueForProp ( string $propName, string $propValue ) : string | integer Based on the property name in question, get its actual value from the binary blob value.
getEncodedValueForProp ( string $propName, string | integer $propValue ) : string Based on the property name/value in question, get its encoded form.
getNibbleWithControl ( string $nibbleType, $nibble ) : string Get the nibble value with the control prefixed.
nibbleControl ( string $nibble, string $control ) : string Based on the control, adjust the nibble accordingly.
packBitString ( string $bits, boolean $len ) : string PHP's pack() function has no 'b' or 'B' template. This is a workaround that turns a literal bit-string into a packed byte-string with 8 bits per byte.

Описание методов

__construct() публичный метод

public __construct ( string | null $value = null )
$value string | null Pass binary TSProperty data to construct its object representation.

dec2hex() защищенный метод

Need to make sure hex values are always an even length, so pad as needed.
protected dec2hex ( integer $int, integer $padLength = 2 ) : string
$int integer
$padLength integer The hex string must be padded to this length (with zeros).
Результат string

decode() защищенный метод

Given a TSProperty blob, decode the name/value/type/etc.
protected decode ( string $tsProperty )
$tsProperty string

decodePropValue() защищенный метод

Decode the property by inspecting the nibbles of each blob, checking the control, and adding up the results into a final value.
protected decodePropValue ( string $hex, boolean $string = false ) : string
$hex string
$string boolean Whether or not this is simple string data.
Результат string

encodePropValue() защищенный метод

Get the encoded property value as a binary blob.
protected encodePropValue ( string $value, boolean $string = false ) : string
$value string
$string boolean
Результат string

getDecodedValueForProp() защищенный метод

Based on the property name in question, get its actual value from the binary blob value.
protected getDecodedValueForProp ( string $propName, string $propValue ) : string | integer
$propName string
$propValue string
Результат string | integer

getEncodedValueForProp() защищенный метод

Based on the property name/value in question, get its encoded form.
protected getEncodedValueForProp ( string $propName, string | integer $propValue ) : string
$propName string
$propValue string | integer
Результат string

getName() публичный метод

Get the name for the TSProperty.
public getName ( ) : string
Результат string

getNibbleWithControl() защищенный метод

If the nibble dec is <= 9, the control X equals 001011 and Y equals 001110, otherwise if the nibble dec is > 9 the control for X or Y equals 011010. Additionally, if the dec value of the nibble is > 9, then the nibble value must be subtracted by 9 before the final value is constructed.
protected getNibbleWithControl ( string $nibbleType, $nibble ) : string
$nibbleType string Either X or Y
$nibble
Результат string

getValue() публичный метод

Get the value for the TSProperty.
public getValue ( ) : string | integer
Результат string | integer

nibbleControl() защищенный метод

Based on the control, adjust the nibble accordingly.
protected nibbleControl ( string $nibble, string $control ) : string
$nibble string
$control string
Результат string

packBitString() защищенный метод

PHP's pack() function has no 'b' or 'B' template. This is a workaround that turns a literal bit-string into a packed byte-string with 8 bits per byte.
protected packBitString ( string $bits, boolean $len ) : string
$bits string
$len boolean
Результат string

setName() публичный метод

Set the name for the TSProperty.
public setName ( string $name )
$name string

setValue() публичный метод

Set the value for the TSProperty.
public setValue ( string | integer $value )
$value string | integer

toBinary() публичный метод

Convert the TSProperty name/value back to its binary representation for the userParameters blob.
public toBinary ( ) : string
Результат string

Описание свойств

$name защищенное свойство

The property name.
protected $name

$propTypes защищенное свойство

There are some names that are simple repeats but have 'W' at the end. Not sure as to what that signifies. I cannot find any information on them in Microsoft documentation. However, their values appear to stay in sync with their non 'W' counterparts. But not doing so when manipulating the data manually does not seem to affect anything. This probably needs more investigation.
protected array $propTypes
Результат array

$value защищенное свойство

The property value.
protected $value

$valueType защищенное свойство

The property value type.
protected $valueType