user_id, user_name, user_firstname and
user_displayname.
@param user_id string User ID
@param user_name string User's name
@param user_firstname string User's first name
@param user_displayname string User's display name
@return string
*/
public static function getUserCN($user_id, $user_name, $user_firstname, $user_displayname)
{
if (!empty($user_displayname)) {
return $user_displayname;
}
if (!empty($user_name)) {
if (!empty($user_firstname)) {
return $user_firstname.' '.$user_name;
} else {
return $user_name;
}
} elseif (!empty($user_firstname)) {
return $user_firstname;
}
return $user_id;
}
/**
Cleanup a list of IDs
@param ids mixed ID(s)
@return array
*/
public static function cleanIds($ids)
{
$clean_ids = array();
if (!is_array($ids)) {
$ids = array($ids);
}
foreach($ids as $id)
{
$id = abs((integer) $id);
if (!empty($id)) {
$clean_ids[] = $id;
}
}
return $clean_ids;
}
/**
* Compare two versions with option of using only main numbers.
*
* @param string $current_version Current version
* @param string $required_version Required version
* @param string $operator Comparison operand
* @param boolean $strict Use full version
* @return boolean True if comparison success
*/
public static function versionsCompare($current_version, $required_version, $operator='>=', $strict=true)
{
if ($strict) {
$current_version = preg_replace('!-r(\d+)$!', '-p$1', $current_version);
$required_version = preg_replace('!-r(\d+)$!', '-p$1', $required_version);
}
else {
$current_version = preg_replace('/^([0-9\.]+)(.*?)$/', '$1', $current_version);
$required_version = preg_replace('/^([0-9\.]+)(.*?)$/', '$1', $required_version);
}
return (boolean) version_compare($current_version, $required_version, $operator);
}
}