lib/account.inc
Properties
Description
This provides several helper function for the account modules.
Functions
array_delete(
array
$values,
array
$array,
)
:
array
Description
This function will return all values from $array without values of $values.Arguments
Name |
Type |
Description |
Default |
$values |
array |
list of values which should be removed |
|
$array |
array |
list of original values |
|
Return value
Type |
Description |
array |
list of remaining values |
in_array_ignore_case(
String
$needle,
array
$haystack,
)
:
n/a
Description
Checks if a string exists in an array, ignoring case.Arguments
Name |
Type |
Description |
Default |
$needle |
String |
search string |
|
$haystack |
array |
array |
|
Return value
getdays(
)
:
\number
Description
This function will return the days from 1.1.1970 until now.Return value
Type |
Description |
\number |
of days |
smbflag(
array
$input,
)
:
string
Description
Takes a list of Samba flags and creates the corresponding flag string.Arguments
Name |
Type |
Description |
Default |
$input |
array |
is an array of Samba flags (e.g. X or D)
|
|
Return value
Type |
Description |
string |
Samba flag string |
lmPassword(
$password,
)
:
string
Description
Generates the LM hash of a password.Arguments
Name |
Type |
Description |
Default |
$password |
n/a |
|
|
Return value
Type |
Description |
string |
password hash |
ntPassword(
$password,
)
:
string
Description
Generates the NT hash of a password.Arguments
Name |
Type |
Description |
Default |
$password |
n/a |
|
|
Return value
Type |
Description |
string |
password hash |
pwd_hash(
string
$password,
boolean
$enabled
= true,
string
$hashType
= 'SSHA',
)
:
string
Description
Returns the hash value of a plain text password.Arguments
Name |
Type |
Description |
Default |
$password |
string |
the password string |
|
$enabled |
boolean |
marks the hash as enabled/disabled (e.g. by prefixing "!")
|
true |
$hashType |
string |
password hash type (CRYPT, CRYPT-SHA512, SHA, SSHA, MD5, SMD5, PLAIN)
|
'SSHA' |
Return value
Type |
Description |
string |
the password hash |
Tags
getSupportedHashTypes(
)
:
array
Description
Returns the list of supported hash types (e.g. SSHA).Return value
Type |
Description |
array |
hash types |
generateSalt(
int
$len,
)
:
String
Description
Calculates a password salt of the given legth.Arguments
Name |
Type |
Description |
Default |
$len |
int |
salt length |
|
Return value
Type |
Description |
String |
the salt string |
pwd_enable(
string
$hash,
)
:
string
Description
Marks an password hash as enabled and returns the new hash stringArguments
Name |
Type |
Description |
Default |
$hash |
string |
hash value to enable |
|
Return value
Type |
Description |
string |
enabled password hash |
pwd_disable(
string
$hash,
)
:
string
Description
Marks an password hash as disabled and returns the new hash stringArguments
Name |
Type |
Description |
Default |
$hash |
string |
hash value to disable |
|
Return value
Type |
Description |
string |
disabled hash value |
pwd_is_lockable(
String
$password,
)
:
boolean
Description
Checks if a Unix password can be locked.This checks if the password is not plain text but e.g. contains {SSHA}.Arguments
Name |
Type |
Description |
Default |
$password |
String |
password value |
|
Return value
Type |
Description |
boolean |
can be locked |
pwd_is_enabled(
string
$hash,
)
:
boolean
Description
Checks if a password hash is enabled/disabledArguments
Name |
Type |
Description |
Default |
$hash |
string |
password hash to check |
|
Return value
Type |
Description |
boolean |
true if the password is marked as enabled |
generateRandomPassword(
)
:
String
Description
Generates a random password with 12 digits.Return value
Type |
Description |
String |
password |
checkPasswordHash(
$type,
\unknown_type
$hash,
\unknown_type
$password,
)
:
n/a
Description
Checks if the given password mathes the crypto hash.Arguments
Name |
Type |
Description |
Default |
$type |
n/a |
|
|
$hash |
\unknown_type |
password hash value |
|
$password |
\unknown_type |
plain text password to check |
|
Return value
Tags
search_domains(
$server
= null,
String
$suffix
= null,
)
:
array
Description
Returns an array with all Samba 3 domain entries under the given suffixArguments
Name |
Type |
Description |
Default |
$server |
n/a |
|
null |
$suffix |
String |
LDAP suffix to search (if null then $_SESSION['config']->get_Suffix('smbDomain') is used)
|
null |
Return value
Type |
Description |
array |
list of samba3domain objects |
get_preg(
string
$argument,
string
$regexp,
)
:
boolean
Description
Checks if a given value matches the selected regular expression.Arguments
Name |
Type |
Description |
Default |
$argument |
string |
value to check |
|
$regexp |
string |
pattern name |
|
Return value
Type |
Description |
boolean |
true if matches, otherwise false |
escapeDN(
String
$dn,
)
:
String
Description
Escapes any special characters in an LDAP DN.Arguments
Name |
Type |
Description |
Default |
$dn |
String |
DN |
|
Return value
Type |
Description |
String |
escaped DN |
searchLDAPByAttribute(
String
$name,
String
$value,
String
$objectClass,
array
$attributes,
array
$scopes,
)
:
array
Description
This will search the given LDAP suffix for all entries which have the given attribute.Arguments
Name |
Type |
Description |
Default |
$name |
String |
attribute name (may be null)
|
|
$value |
String |
attribute value |
|
$objectClass |
String |
object class (may be null)
|
|
$attributes |
array |
list of attributes to return |
|
$scopes |
array |
account types |
|
Return value
Type |
Description |
array |
list of found entries |
searchLDAPByFilter(
String
$filter,
array
$attributes,
array
$scopes,
boolean
$attrsOnly
= false,
)
:
array
Description
This will search the given LDAP suffix for all entries which match the given filter.Arguments
Name |
Type |
Description |
Default |
$filter |
String |
|
|
$attributes |
array |
list of attributes to return |
|
$scopes |
array |
account types |
|
$attrsOnly |
boolean |
get only attributes but no values (default: false)
|
false |
Return value
Type |
Description |
array |
list of found entries |
searchLDAP(
String
$suffix,
String
$filter,
array
$attributes,
)
:
array
Description
Runs an LDAP search.Arguments
Name |
Type |
Description |
Default |
$suffix |
String |
LDAP suffix |
|
$filter |
String |
filter |
|
$attributes |
array |
list of attributes to return |
|
Return value
Type |
Description |
array |
list of found entries |
ldapGetDN(
String
$dn,
array
$attributes
= array('dn'),
\handle
$handle
= null,
)
:
array
Description
Returns the given DN.Arguments
Name |
Type |
Description |
Default |
$dn |
String |
DN |
|
$attributes |
array |
list of attributes to fetch |
array('dn') |
$handle |
\handle |
LDAP handle (optional for admin interface pages)
|
null |
Return value
Type |
Description |
array |
attributes or null if not found |
getLastLDAPError(
)
:
array
Description
Returns the parameters for a StatusMessage of the last LDAP search.Return value
Type |
Description |
array |
parameters for StatusMessage or null if all was ok |
cleanLDAPResult(
array
$entries,
)
:
n/a
Description
Cleans the result of an LDAP search.This will remove all 'count' entries and also all numeric array keys.Arguments
Name |
Type |
Description |
Default |
$entries |
array |
LDAP entries in format $entries[entry number][attribute name][attribute values]
|
|
Return value
getAbstractDN(
String
$dn,
)
:
String
Description
Transforms a DN into a more user friendly format.E.g. "dc=company,dc=de" is transformed to "company > de".Arguments
Name |
Type |
Description |
Default |
$dn |
String |
DN |
|
Return value
Type |
Description |
String |
transformed DN |
compareDN(
string
$a,
string
$b,
)
:
integer
Description
Helper function to sort DNs.Arguments
Name |
Type |
Description |
Default |
$a |
string |
first argument to compare |
|
$b |
string |
second argument to compare |
|
Return value
Type |
Description |
integer |
0 if equal, 1 if $a is greater, -1 if $b is greater |
formatLDAPTimestamp(
String
$time,
)
:
String
Description
Formats an LDAP time string (e.g. from createTimestamp).Arguments
Name |
Type |
Description |
Default |
$time |
String |
LDAP time value |
|
Return value
Type |
Description |
String |
formated time |
obfuscateText(
String
$text,
)
:
n/a
Description
Simple function to obfuscate strings.Arguments
Name |
Type |
Description |
Default |
$text |
String |
text to obfuscate |
|
Return value
deobfuscateText(
String
$text,
)
:
n/a
Description
Simple function to deobfuscate strings.Arguments
Name |
Type |
Description |
Default |
$text |
String |
text to deobfuscate |
|
Return value
isObfuscatedText(
String
$text,
)
:
boolean
Description
Checks if the given text is obfuscated.Arguments
Name |
Type |
Description |
Default |
$text |
String |
text to check |
|
Return value
Type |
Description |
boolean |
obfuscated or not |
extractRDNAttribute(
String
$dn,
)
:
String
Description
Extracts the RDN attribute name from a given DN.Arguments
Name |
Type |
Description |
Default |
$dn |
String |
DN |
|
Return value
Type |
Description |
String |
RDN attribute name |
extractRDNValue(
String
$dn,
)
:
String
Description
Extracts the RDN attribute value from a given DN.Arguments
Name |
Type |
Description |
Default |
$dn |
String |
DN |
|
Return value
Type |
Description |
String |
RDN attribute value |
extractDNSuffix(
String
$dn,
)
:
String
Description
Extracts the DN suffix from a given DN.E.g. ou=people,dc=test,dc=com will result in dc=test,dc=com.Arguments
Name |
Type |
Description |
Default |
$dn |
String |
DN |
|
Return value
Type |
Description |
String |
DN suffix |
sendPasswordMail(
String
$pwd,
array
$user,
String
$recipient
= null,
)
:
array
Description
Sends the password mail.Arguments
Name |
Type |
Description |
Default |
$pwd |
String |
new password |
|
$user |
array |
LDAP attributes of user |
|
$recipient |
String |
recipient address (optional, $user['mail'][0] used by default)
|
null |
Return value
Type |
Description |
array |
list of arrays that can be used to create status messages |
createEMailHeaders(
String
$from,
boolean
$isHTML,
String
$replyTo
= null,
)
:
n/a
Description
Generates the email header text for the given parameters.Arguments
Name |
Type |
Description |
Default |
$from |
String |
FROM address |
|
$isHTML |
boolean |
mail is formatted as HTML or plain text |
|
$replyTo |
String |
reply-to address (optional)
|
null |
Return value
base64EncodeForEMail(
String
$value,
)
:
String
Description
Returns a base64 encoded string of the given values in a fomat that is used in emails.Arguments
Name |
Type |
Description |
Default |
$value |
String |
value to encode |
|
Return value
Type |
Description |
String |
base64 encoded value |
sendEMail(
String
$to,
String
$subject,
String
$text,
String
$headers,
)
:
n/a
Description
Sends out an email.Arguments
Name |
Type |
Description |
Default |
$to |
String |
TO address |
|
$subject |
String |
email subject |
|
$text |
String |
mail body (with \r\n EOL)
|
|
$headers |
String |
header lines (with \r\n EOL)
|
|
Return value
getRandomNumber(
)
:
int
Description
Returns a random number.Return value
Type |
Description |
int |
random number |
getLDAPSSLCertificate(
String
$server,
String
$port,
)
:
mixed
Description
Connects to the LDAP server and extracts the certificates.Arguments
Name |
Type |
Description |
Default |
$server |
String |
server name |
|
$port |
String |
server port |
|
Return value
Type |
Description |
mixed |
false on error and certificate if extracted successfully |
getExtendedLDAPErrorMessage(
\handle
$server,
)
:
String
Description
Returns the extended LDAP error message if any.Arguments
Name |
Type |
Description |
Default |
$server |
\handle |
LDAP server handle |
|
Return value
Type |
Description |
String |
error message |
getDefaultLDAPErrorString(
\handle
$server,
)
:
String
Description
Returns the default error message to display on the web page.HTML special characters are already escaped.Arguments
Name |
Type |
Description |
Default |
$server |
\handle |
LDAP server handle |
|
Return value
Type |
Description |
String |
error message |
getCallingURL(
)
:
String
Description
Returns the URL under which the page was loaded.This includes any GET parameters set.Return value
Type |
Description |
String |
URL |
Classes
samba3domain
Properties
No
No
Description
Represents a Samba 3 domain entry
Properties
$RIDbase,
$SID,
$dn,
$maxPwdAge,
$minPwdAge,
$name,
$nextGroupRID,
$nextRID,
$nextUserRID,
public
$RIDbase
=
1000
RID base to calculate RIDs, default 1000
public
$maxPwdAge
=
seconds after the password must be changed
public
$minPwdAge
=
seconds after the password can be changed
public
$name
=
Domain name
public
$nextGroupRID
=
Next group RID
public
$nextRID
=
Next RID
public
$nextUserRID
=
Next user RID
moduleCache
Properties
No
No
Description
Caches module objects.This improves performance if the same module does not need to be created multiple times (calling get_metaData() each time).
Methods
getModule,
getModule(
String
$name,
String
$scope,
)
:
n/a
Description
Returns a new/cached module with the given name and scope.Arguments
Name |
Type |
Description |
Default |
$name |
String |
module name |
|
$scope |
String |
module scope (e.g. user)
|
|
Return value
Properties
$cache,
private
static $cache
=
array()
module cache ("name:scope" => module)