/** * Запрос на добавление заказа * * @param array &$Controller объект котнроллера * * @return array */ function cmdAdd(array &$Controller) { $Request =& getRequest($Controller); $price = (int) Request\getPostParam($Request, 'price'); $text = Request\getPostParam($Request, 'text'); $token = Request\getPostParam($Request, 'token'); $isValid = validateParams($price, $text, $token); if ($isValid !== true) { return ['errorMsg' => $isValid]; } $OrderRepository =& ServiceManager\get(getServiceManager($Controller), 'OrderRepository'); if (OrderRepository\create($OrderRepository, $price, $text) === false) { return ['errorMsg' => 'Ошибка создания запроса']; } else { return []; } }
/** * Разлогинивание * * @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; }
/** * Подгрузка новых заказов, если есть * * @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)); }