Код |
---|
public function controlPhone()
{
if(!empty($_REQUEST['phone'])) {
$phone = \Ycaweb\Tools::clearText($_REQUEST['phone']); // в $phone из 7(111)111-11-11 станет 71111111111
$result['phone'] = $phone;
$result['result'] = $this->_controlUser($phone, 'WORK_PHONE');
} else {
$result['result'] = false;
}
$this->moduleResult($result);
}
**
* проверяет есть ли пользователь по нужному нам полю
* @param $data - значение
* @param $field - поле пользователя
* @return bool - true есть совпадения
*/
private function _controlUser($data, $field)
{
$temp = CUser::GetList(($by = 'ID'), ($order = 'asc'), array($field => $data));
if ($users = $temp->Fetch()) {
return true;
} else {
return false;
}
}
|
Так вот вопрос в следующем:
Есть пользователь с номером телефона 71111111111
при проверке если передать 7111 _controlUser('7111', 'WORK_PHONE'); выдаст что такой пользователь существует, если передать вторым параметром '=WORK_PHONE' то вообще пользователи есть всегда.
То есть не получается получить точное соотвествие по этим полям. по полю EMAIL передав второй параметр '=EMAIL' ищется точное соответствие, по дополнительным полям 'UF_CARD' в качестве второго параметра так же жесткое соотсветсвие,а по полям PERSONAL_PHONE или WORK_PHONE создается впечатление ищется есть ли вхождение или нет, а не точное соотвествие.
Подскажите в чем я ошибся и что нужно передать в CUser::GetList, чтобы она по полям PERSONAL_PHONE или WORK_PHONE искала точное соответствие