public function GetMemberByName($name)
{
$name = trim($name);
if (!$name || !CheckRegExp($name, '[username]')) {
return new Member();
}
if (isset($this->membersbyname[$name])) {
return $this->membersbyname[$name];
} else {
$array = array_keys($this->membersbyname);
foreach ($array as $k => $v) {
if (strcasecmp($name, $v) == 0) {
return $this->membersbyname[$v];
}
}
}
$like = $this->db->type == 'pgsql' ? 'ILIKE' : 'LIKE';
$sql = $this->db->sql->Select($this->table['Member'], '*', array(array($like, 'mem_Name', $name)), null, 1, null);
$am = $this->GetListType('Member', $sql);
if (count($am) > 0) {
$m = $am[0];
$this->members[$m->ID] = $m;
$this->membersbyname[$m->Name] =& $this->members[$m->ID];
return $m;
}
$m = new Member();
$m->Guid = GetGuid();
return $m;
}