Witam,
w związku z chęcią autoryzacji klientów po nr gadu-gadu (pole im w customers) dodałem do userpanel/lib/authentication.inc funkcję:
function GetCustomerIDByIMAndPIN($im, $pin) { global $DB; if(!ereg('^[0-9]+$', $pin)) return NULL; $authinfo['login'] = $DB->GetOne('SELECT id FROM '.CUSTOMERS_TABLE.' WHERE im=?', array($im)); if ($authinfo['login'] == NULL) return NULL; $authinfo['passwd'] = $DB->GetOne('SELECT pin FROM '.CUSTOMERS_TABLE.' WHERE pin=? AND im=?', array($pin, $im)); return $authinfo; }
oraz do funkcji VerifyPassword() podmieniłem:
$authinfo = GetCustomerIDByIDAndPIN($this->login, $this->passwd);
z:
$authinfo = GetCustomerIDByIMAndPIN($this->login, $this->passwd);
autoryzacja działa poprawnie wpisując jako ID: nr gadu-gadu, oraz PIN. Z tym, że w dalszej części moduły np: finances, info, etc pokazują ID 0000, więc mam wrażenie ze w/w funkcja nie działa (a pisana była pod wzór i podobieństwo GetCustomerIDByIDAndPIN, GetCustomerIDByPhone1AndPIN, GetCustomerIDByContractAndPIN - te funkcje działają).
Gdzie może być błąd ?
Pozdrawiam,
Krzysztof Taraszka