PHP Class LdapTools\Utilities\TSProperty

See also: https://msdn.microsoft.com/en-us/library/ff635169.aspx
See also: http://daduke.org/linux/userparameters.html
Author: Chad Sikorra ([email protected])
Afficher le fichier Open project: ldaptools/ldaptools Class Usage Examples

Protected Properties

Свойство Type Description
$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.

Méthodes publiques

Méthode Description
__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.

Méthodes protégées

Méthode Description
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.

Method Details

__construct() public méthode

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

dec2hex() protected méthode

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).
Résultat string

decode() protected méthode

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

decodePropValue() protected méthode

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.
Résultat string

encodePropValue() protected méthode

Get the encoded property value as a binary blob.
protected encodePropValue ( string $value, boolean $string = false ) : string
$value string
$string boolean
Résultat string

getDecodedValueForProp() protected méthode

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
Résultat string | integer

getEncodedValueForProp() protected méthode

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
Résultat string

getName() public méthode

Get the name for the TSProperty.
public getName ( ) : string
Résultat string

getNibbleWithControl() protected méthode

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
Résultat string

getValue() public méthode

Get the value for the TSProperty.
public getValue ( ) : string | integer
Résultat string | integer

nibbleControl() protected méthode

Based on the control, adjust the nibble accordingly.
protected nibbleControl ( string $nibble, string $control ) : string
$nibble string
$control string
Résultat string

packBitString() protected méthode

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
Résultat string

setName() public méthode

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

setValue() public méthode

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

toBinary() public méthode

Convert the TSProperty name/value back to its binary representation for the userParameters blob.
public toBinary ( ) : string
Résultat string

Property Details

$name protected_oe property

The property name.
protected $name

$propTypes protected_oe property

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
Résultat array

$value protected_oe property

The property value.
protected $value

$valueType protected_oe property

The property value type.
protected $valueType