Exemplo n.º 1
0
 /**
  * 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);
 }