/** * @param array &$CustomerRepository объект репозитория заказчика * @param string $login логин заказчика * @param string $password пароль заказчика * * @return bool верный ли пароль */ function validateAuth(array &$CustomerRepository, $login, $password) { return Password\check($password, Memcached\get(getMemcached($CustomerRepository), createMemcachedKeyForPasswordHash($login))); }
/** * @param array &$ExecutorRepository объект репозитория исполнителя * @param string $login логин исполнителя * * @return &array|null объект исполнителя или null, если таковой не найден */ function &fetch(array &$ExecutorRepository, $login) { $Memcached =& getMemcached($ExecutorRepository); $id = Memcached\get($Memcached, createMemcachedKeyForLogin($login)); if ($id === false) { // нет такого исполнителя return null; } $id = (int) $id; $Mysql =& MysqlFactory\createShard(getMysqlFactory($ExecutorRepository), SHARD_CONFIG, getShardId($id)); $result = Mysql\query($Mysql, 'SELECT id, fio, login, salary FROM ' . DATABASE_NAME . '.' . TABLE_NAME . ' WHERE id = ' . (int) $id); if (Mysql\numRows($result) == 0) { return null; } return Executor\unserializeFromMysql(Mysql\fetchAssoc($Mysql, $result)); }
/** * Возвращает стоимость заказа из мемкеша и удалят из мемкеша * * @param array &$OrderRepository репозиторий заказа * @param int $id id заказа * * @return mixed|null */ function getPriceFromMemcachedAndDeleteIt(array &$OrderRepository, $id) { $Memcached =& getMemcached($OrderRepository); $price = (int) Memcached\get($Memcached, createMemcachedKeyForPrice((int) $id)); Memcached\delete($Memcached, (int) $id); return $price; }