Index: /changelog
===================================================================
--- /changelog	(revision 7598)
+++ /changelog	(revision 7599)
@@ -292,2 +292,4 @@
 - Feature: URL Benachrichtigung sendet einen User Agent und Referer mit (Wordfence Regel)
 
+#4.1.9
+- Bugfix: Gutscheinprodukt und flexibler Preis arbeitet mit "Mehrfach mit Menge 1"
Index: /controller/wpsg_BasketController.class.php
===================================================================
--- /controller/wpsg_BasketController.class.php	(revision 7598)
+++ /controller/wpsg_BasketController.class.php	(revision 7599)
@@ -879,10 +879,8 @@
 						
 					}
-					else if ($product_data['basket_multiple'] == 2)
-					{
+					else if ($product_data['basket_multiple'] == 2) {
 						
 						// Mehrfach mit Menge 1
-						if ($produkt_menge > 1)
-						{
+						if ($produkt_menge > 1) {
 							
 							// Grundprodukt auf 1 setzen
@@ -893,11 +891,10 @@
 							
 							$bOK = true;
-							for ($i = 1; $i < $produkt_menge; $i ++)
-							{
+							for ($i = 1; $i < $produkt_menge; $i ++) {
 								
 								$bOK = $bOK && $this->shop->basket->addProduktToSession($product_key, 1);
 								
 							}
-							
+						 
 							$_REQUEST = $request;
 							
Index: /mods/wpsg_mod_voucherproduct.class.php
===================================================================
--- /mods/wpsg_mod_voucherproduct.class.php	(revision 7598)
+++ /mods/wpsg_mod_voucherproduct.class.php	(revision 7599)
@@ -12,9 +12,12 @@
 		var $free = false;
 		var $hilfeURL = 'http://wpshopgermany.maennchen1.de/?p=2908';		
-		
-		public function __construct()
-		{
+		var $iv = '';
+		
+		public function __construct() {
 			
 			parent::__construct();
+			
+			if (!isset($_SESSION['wpsg']['wpsg_mod_voucherproduct_iv'])) $_SESSION['wpsg']['wpsg_mod_voucherproduct_iv'] = openssl_random_pseudo_bytes(openssl_cipher_iv_length('AES128'));  
+			$this->iv = $_SESSION['wpsg']['wpsg_mod_voucherproduct_iv'];
 			
 			$this->name = __('GutscheinProdukt', 'wpsg');
@@ -372,4 +375,20 @@
 		}
 		
+		public function basket_preMultiple($product_index) {
+			
+			if (isset($_SESSION['wpsg']['basket'][$product_index]['price_code'])) {
+				
+				$data = \json_decode(\openssl_decrypt($_SESSION['wpsg']['basket'][$product_index]['price_code'],'AES128', $this->shop->get_option('wpsg_salt'), 0, $this->iv), true);
+				
+				if (isset($data['price']) && !isset($_REQUEST['wpsg_mod_voucherproduct_value'])) {
+					
+					$_REQUEST['wpsg_mod_voucherproduct_value'] = $data['price'];
+					
+				} 
+				
+			} 
+			
+		}
+		
 		public function basket_produkttosession($produkt_key, &$menge, &$ses_data) {
 			 
@@ -418,5 +437,5 @@
 				$code = openssl_encrypt(json_encode([
 					'price' => wpsg_tf($value),					
-				]),'AES128', $this->shop->get_option('wpsg_salt'));
+				]),'AES128', $this->shop->get_option('wpsg_salt'), 0, $this->iv);
 				
 				$ses_data['price_code'] = $code;
@@ -432,5 +451,5 @@
 			if (isset($ses_data['price_code'])) {
 				
-				$data = \json_decode(\openssl_decrypt($ses_data['price_code'],'AES128', $this->shop->get_option('wpsg_salt')), true);
+				$data = \json_decode(\openssl_decrypt($ses_data['price_code'],'AES128', $this->shop->get_option('wpsg_salt'), 0, $this->iv), true);
 				
 				$product_data['set'] = $data['price'];
