Пример #1
0
/**
 * @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)));
}
Пример #2
0
/**
 * @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));
}
Пример #3
0
/**
 * Возвращает стоимость заказа из мемкеша и удалят из мемкеша
 *
 * @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;
}