user = \User::getCurrentUser(); } public function getResponse(?Request $request = null) { if (!findModule('orders')) { redirection('MODUL_NOT_FOUND'); } if ($this->user) { return new RedirectResponse( createScriptURL([ 'URL' => 'launch.php', 's' => 'orders', 'ESCAPE' => 'NO', ]) ); } return parent::getResponse($request); } public function getTitle() { return parent::getTitle(); } public function getBodyVariables() { $vars = parent::getBodyVariables(); if ($this->orderId) { if ($this->checkCaptcha()) { if ($order = $this->getOrder()) { $vars['order'] = $order; } else { addUserMessage('Objednávka neexistuje.'); } } else { addUserMessage('Chybný kontrolní kód.'); } } return $vars; } public function getBreadcrumbs() { if ($this->user) { $url = createScriptURL([ 'URL' => 'launch.php', 's' => 'orders', ]); return getReturnNavigation(-1, 'NO_TYPE', [['link' => $url, 'text' => translate('returnNav', 'orderView')[0]], ['text' => translate('returnNav', 'orderView')[1]]]); } return getReturnNavigation(-1, 'NO_TYPE', [translate('returnNav', 'orderView')[1]]); } private function getOrder() { $IDo = sqlFormatInput($this->orderId); $IDo = returnSQLResult('SELECT id FROM '.getTableName('orders')." WHERE order_no='{$IDo}'"); if (!$IDo) { return false; } $orderObj = new \Order(); if ($orderObj->createFromDB($IDo)) { $orderObj->status_text = $orderObj->getStatusText(); return $orderObj; } return false; } private function checkCaptcha() { try { Captcha::checkCaptcha(); } catch (ValidationException $e) { return false; } return true; } /** * @return $this */ public function setOrderId($orderId) { $this->orderId = $orderId; return $this; } }