/** * Filter voucher by article id * * @param array $voucherDetails The voucher details * @return array Array of arrays, containing messages for detected errors and restricted articles */ private function filterArticleVoucher($voucherDetails) { $sErrorMessages = array(); if (!empty($voucherDetails["restrictarticles"]) && strlen($voucherDetails["restrictarticles"]) > 5) { $restrictedArticles = explode(";", $voucherDetails["restrictarticles"]); if (count($restrictedArticles) == 0) { $restrictedArticles[] = $voucherDetails["restrictarticles"]; } $foundMatchingArticle = $this->db->fetchOne($this->db->select()->from('s_order_basket', 'id')->where('sessionID = ?', $this->session->get('sessionId'))->where('modus = 0')->where('ordernumber IN (?)', $restrictedArticles)); if (empty($foundMatchingArticle)) { $sErrorMessages[] = $this->snippetManager->getNamespace('frontend/basket/internalMessages')->get('VoucherFailureProducts', 'This voucher is only available in combination with certain products'); } } return array($sErrorMessages, $restrictedArticles); }