public function generateCn($info)
{
global $conf;
/** The fields that should get mapped into the user ID. */
if (isset($conf['kolab']['server']['params']['user_cn_mapfields'])) {
$id_mapfields = $conf['kolab']['server']['params']['user_cn_mapfields'];
} else {
$id_mapfields = array(self::ATTRIBUTE_GIVENNAME, self::ATTRIBUTE_SN);
}
/** The user ID format. */
if (isset($conf['kolab']['server']['params']['user_cn_format'])) {
$id_format = $conf['kolab']['server']['params']['user_cn_format'];
} else {
$id_format = '%s %s';
}
$fieldarray = array();
foreach ($id_mapfields as $mapfield) {
if (isset($info[$mapfield])) {
$id = $info[$mapfield];
if (is_array($id)) {
$id = $id[0];
}
$fieldarray[] = $this->server->structure->quoteForUid($id);
} else {
$fieldarray[] = '';
}
}
return trim(vsprintf($id_format, $fieldarray), " \t\n\r\v,");
}