Esempio n. 1
0
/**
 * Валидация данные в запросе добавления нового поста
 *
 * @param int $price стоимость
 * @param string $text текст
 * @param string $token токен
 *
 * @return bool|string true, если валидно, текст сообщения иначе
 */
function validateParams($price, $text, $token)
{
    if ($price < 1) {
        return 'Стоимость должна быть больше 0';
    }
    if (mb_strlen($text) == 0) {
        return 'Текст не должен быть пуст';
    }
    if (mb_strlen($text) > 1024) {
        return 'Текст не может быть более 1024 символов';
    }
    if (is_null($token)) {
        return 'Не токена';
    }
    if ($token !== Session\getToken()) {
        return 'Неверный токен';
    }
    return true;
}
Esempio n. 2
0
/**
 * Разлогинивание
 *
 * @param array &$Controller объект контроллера
 */
function logoutAction(array &$Controller)
{
    $Request =& getRequest($Controller);
    if (Request\isPost($Request)) {
        $logout = Request\getPostParam($Request, 'logout');
        $token = Request\getPostParam($Request, 'token');
        if (!is_null($logout) && $token === Session\getToken()) {
            Session\clearActiveUserData();
        }
    }
    header('Location: /index', true, 303);
    exit;
}
Esempio n. 3
0
/**
 * Подгрузка новых заказов, если есть
 *
 * @param array &$Controller объект контроллера
 *
 * @return array сериализованный список заказов
 */
function cmdCheckNew(array &$Controller)
{
    $Request =& getRequest($Controller);
    $token = Request\getPostParam($Request, 'token');
    $fromId = (int) Request\getPostParam($Request, 'fromId');
    if ($fromId < 1 || is_null($token) || $token !== Session\getToken()) {
        return ['errorMsg' => 'Неверные данные'];
    }
    $OrderRepository =& ServiceManager\get(getServiceManager($Controller), 'OrderRepository');
    return array_map(function (array $Order) {
        return ['id' => Order\getId($Order), 'text' => htmlspecialchars(Order\getText($Order), ENT_COMPAT | ENT_QUOTES), 'price' => Order\getPrice($Order)];
    }, OrderRepository\fetchWithIdOffset($OrderRepository, $fromId));
}