public function GetMemberByNameOrAlias($name)
{
$name = trim($name);
if (!$name || !CheckRegExp($name, '[username]')) {
return new Member();
}
foreach ($this->members as $key => &$value) {
if (strcasecmp($value->Name, $name) == 0 || strcasecmp($value->Alias, $name) == 0) {
return $value;
}
}
$like = $this->db->type == 'pgsql' ? 'ILIKE' : 'LIKE';
$sql = $this->db->sql->get()->select($this->table['Member'])->where(array("{$like} array", array(array('mem_Name', $name), array('mem_Alias', $name))))->limit(1)->sql;
$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;
}
return new Member();
}