Index: /mods/wpsg_mod_discount.class.php
===================================================================
--- /mods/wpsg_mod_discount.class.php	(revision 7434)
+++ /mods/wpsg_mod_discount.class.php	(revision 7435)
@@ -63,14 +63,14 @@
 		{
 
-			$this->shop->update_option('wpsg_mod_discount_productdiscount', $_REQUEST['wpsg_mod_discount_productdiscount'], false, false, "key");
-			$this->shop->update_option('wpsg_mod_discount_universal', $_REQUEST['wpsg_mod_discount_universal'], false, false, "key");
+		    $this->shop->update_option('wpsg_mod_discount_productdiscount', $_REQUEST['wpsg_mod_discount_productdiscount'], false, false, WPSG_SANITIZE_CHECKBOX);
+		    $this->shop->update_option('wpsg_mod_discount_universal', $_REQUEST['wpsg_mod_discount_universal'], false, false, WPSG_SANITIZE_CHECKBOX);
 			$this->shop->update_option("wpsg_mod_discount_universal_from", wpsg_xss($_REQUEST['wpsg_mod_discount_universal_from']));
 			$this->shop->update_option("wpsg_mod_discount_universal_to", wpsg_xss($_REQUEST['wpsg_mod_discount_universal_to']));
-			$this->shop->update_option("wpsg_mod_discount_universal_value", wpsg_ff($_REQUEST['wpsg_mod_discount_universal_value']), false, false, "key", ["isFloat"]);
-			if ($this->shop->hasMod('wpsg_mod_productgroups')) $this->shop->update_option('wpsg_mod_discount_productgroupdiscount', $_REQUEST['wpsg_mod_discount_productgroupdiscount'], false, false, "key");
-			if ($this->shop->hasMod('wpsg_mod_customergroup')) $this->shop->update_option('wpsg_mod_discount_customergroup', $_REQUEST['wpsg_mod_discount_customergroup'], false, false, "key");
-			$this->shop->update_option('wpsg_mod_discount_show', $_REQUEST['wpsg_mod_discount_show'], false, false, "key");
+			$this->shop->update_option("wpsg_mod_discount_universal_value", wpsg_ff($_REQUEST['wpsg_mod_discount_universal_value']), false, false, WPSG_SANITIZE_FLOAT);
+			if ($this->shop->hasMod('wpsg_mod_productgroups')) $this->shop->update_option('wpsg_mod_discount_productgroupdiscount', $_REQUEST['wpsg_mod_discount_productgroupdiscount'], false, false, WPSG_SANITIZE_CHECKBOX);
+			if ($this->shop->hasMod('wpsg_mod_customergroup')) $this->shop->update_option('wpsg_mod_discount_customergroup', $_REQUEST['wpsg_mod_discount_customergroup'], false, false, WPSG_SANITIZE_CHECKBOX);
+			$this->shop->update_option('wpsg_mod_discount_show', $_REQUEST['wpsg_mod_discount_show'], false, false, WPSG_SANITIZE_CHECKBOX);
 			$this->shop->update_option('wpsg_mod_discount_hierarchie', implode(',', $_REQUEST['wpsg_mod_discount_hierarchie']));
-
+			
 			$data_rabatt = $this->getOptionData();
 
@@ -142,10 +142,8 @@
 
 			$this->shop->update_option("wpsg_mod_discount_data", serialize($data_rabatt));
-
-			$this->shop->update_option('wpsg_mod_discount_stopRabatt', $_REQUEST['wpsg_mod_discount_stopRabatt'], false, false, "key");
-
-			$this->shop->update_option('wpsg_mod_discount_showBasket', $_REQUEST['wpsg_mod_discount_showBasket'], false, false, "key");
-
-			$this->shop->update_option('wpsg_mod_discount_voucher', $_REQUEST['wpsg_mod_discount_voucher'], false, false, "key");
+			$this->shop->update_option('wpsg_mod_discount_stopRabatt', $_REQUEST['wpsg_mod_discount_stopRabatt'], false, false, WPSG_SANITIZE_CHECKBOX);
+			$this->shop->update_option('wpsg_mod_discount_showBasket', $_REQUEST['wpsg_mod_discount_showBasket'], false, false, WPSG_SANITIZE_CHECKBOX);
+			$this->shop->update_option('wpsg_mod_discount_voucher', $_REQUEST['wpsg_mod_discount_voucher'], false, false, WPSG_SANITIZE_CHECKBOX);		
+			$this->shop->update_option('wpsg_mod_discount_productindex', $_REQUEST['wpsg_mod_discount_productindex'], false, false, WPSG_SANITIZE_CHECKBOX);
 			
 		} // public function settings_save()
Index: /views/css/frontend.css
===================================================================
--- /views/css/frontend.css	(revision 7434)
+++ /views/css/frontend.css	(revision 7435)
@@ -444,4 +444,8 @@
 .wpsg_mod_productview-order-layer a:hover { text-decoration:none; color:#FFFFFF; background-color:#29556E; }
 
+/* ProduktÃŒbersicht */
+.wpsg_mod_productview_oldprice { font-size:0.9em; color:#ff0000; text-decoration:line-through; }
+.wpsg_mod_productview_newprice { font-size:1em; font-weight:bold; }
+ 
 /* Dialog fÃŒr Meldungen wenn nicht auf einer Shop Seite / Warenkorbmeldung BEGIN */
 #wpsg_ajax_layer { position:fixed; z-index:1000; left:0px; top:0px; width:100%; height:100%; background-color:rgba(0, 0, 0, 0.75); display:flex; justify-content:center; align-items:center; }
Index: /views/mods/mod_discount/settings_edit.phtml
===================================================================
--- /views/mods/mod_discount/settings_edit.phtml	(revision 7434)
+++ /views/mods/mod_discount/settings_edit.phtml	(revision 7435)
@@ -89,4 +89,8 @@
 			<?php echo wpsg_drawForm_Checkbox('wpsg_mod_discount_voucher', __('Gutscheine bei aktivem Rabatt nicht zulassen', 'wpsg'), $this->get_option('wpsg_mod_discount_voucher'), array('help' => 'wpsg_mod_discount_voucher')); ?>
 			
+			<?php if ($this->hasMod('wpsg_mod_productindex') == '1') { ?>
+			<?php echo wpsg_drawForm_Checkbox('wpsg_mod_discount_productindex', __('Rabattierte Preise in Produktindex anzeigen', 'wpsg'), $this->get_option('wpsg_mod_discount_productindex')); ?>
+			<?php } ?>
+			
 		</div>
     </div>
Index: /views/mods/mod_productindex/layouts/grid.phtml
===================================================================
--- /views/mods/mod_productindex/layouts/grid.phtml	(revision 7434)
+++ /views/mods/mod_productindex/layouts/grid.phtml	(revision 7435)
@@ -82,5 +82,5 @@
 	<?php if (wpsg_isSizedArray($this->view['arProducts'])) { ?>
 
-		<?php $i = 0; foreach ($this->view['arProducts'] as $p) { $i ++; ?>
+		<?php $i = 0; foreach ($this->view['arProducts'] as $p); $oProduct = wpsg_product::getInstance($p['product_key']); { $i ++; ?>
 
 			<?php if (($i - 1) % $col == 0) { ?><div class="wpsg_mod_productindex_productrow"><?php } ?>
@@ -136,4 +136,16 @@
 						<?php /*Abfrage Preisanzeige nur fÃŒr eingeloggte Benutzer START*/?>
 						<?php if (($this->callMod('wpsg_mod_kundenverwaltung', 'isLoggedIn') && ($this->get_option('wpsg_mod_kundenverwaltung_preisAnzeige') == '1')) || ($this->get_option('wpsg_mod_kundenverwaltung_preisAnzeige') == '0')) { ?>
+							<?php if ($this->hasMod('wpsg_mod_discount') && $this->get_option('wpsg_mod_discount_productindex') == '1') { ?>
+    							
+    							<?php $oldPrice = $oProduct->getOldPrice();  ?>
+                    			
+                    			<?php if ($oldPrice !== false && $oldPrice != $oProduct->getPrice($this->view['data']['product_key'])) { ?>
+                    				<span class="wpsg_mod_productview_newprice wpsg_mod_productview_price wpsg_mod_productview_current"><?php echo wpsg_ff($oProduct->getPrice($this->view['data']['product_key']), $this->get_option('wpsg_currency')); ?></span><br />
+                    				<span class="wpsg_mod_productview_oldprice"><?php echo wpsg_ff($oldPrice, $this->get_option('wpsg_currency')); ?></span>
+                    			<?php } else { ?>
+                    				<span class="wpsg_mod_productview_price"><?php echo wpsg_ff($oProduct->getPrice($this->view['data']['product_key']), $this->get_option('wpsg_currency')); ?></span>
+                    			<?php } ?>   
+                    			            			
+							<?php }else{?>
 							<div class="wpsg_mod_productindex_price">
 								<?php if ($p['min_preis'] == $p['max_preis']) { ?>
@@ -143,4 +155,5 @@
 								<?php } ?>
 							</div>
+							<?php } ?>
 							<?php if ($this->get_option('wpsg_kleinunternehmer')) { /* Kleinunternehmerregelung aktiviert START */ ?>
 							<div class="wpsg_produkt_preishinweis">
@@ -169,6 +182,5 @@
 							<?php } ?>
 
-						</div>
-
+						</div>		
 					</div>
 					<div class="wpsg_clear"></div>
Index: /views/mods/mod_productindex/layouts/list.phtml
===================================================================
--- /views/mods/mod_productindex/layouts/list.phtml	(revision 7434)
+++ /views/mods/mod_productindex/layouts/list.phtml	(revision 7435)
@@ -79,5 +79,5 @@
 	<?php if (wpsg_isSizedArray($this->view['arProducts'])) { ?>
 
-		<?php $i = 0; foreach ($this->view['arProducts'] as $p) { $i ++; ?>
+		<?php $i = 0; foreach ($this->view['arProducts'] as $p); $oProduct = wpsg_product::getInstance($p['product_key']); { $i ++; ?>
 		<div class="wpsg_mod_productindex_product <?php echo (($i % 2 == 0)?'odd':'even'); ?> <?php echo (($i == sizeof($this->view['arProducts']))?'wpsg_mod_productindex_product_last':''); ?> <?php echo (($i == 1)?'wpsg_mod_productindex_product_first':''); ?>">
 			
@@ -131,8 +131,24 @@
 				<?php if (($this->callMod('wpsg_mod_kundenverwaltung', 'isLoggedIn') && ($this->get_option('wpsg_mod_kundenverwaltung_preisAnzeige') == '1')) || ($this->get_option('wpsg_mod_kundenverwaltung_preisAnzeige') == '0')) { ?>
 					<div class="wpsg_mod_productindex_price">
-						<?php if ($p['min_preis'] == $p['max_preis']) { ?>
-							<?php echo wpsg_ff($p['preis'], $this->get_option('wpsg_currency')); ?>
-						<?php } else { ?>
-							<?php echo wpsg_translate(__('ab #1#', 'wpsg'), wpsg_ff($p['min_preis'], $this->get_option('wpsg_currency'))); ?>
+					
+						<?php /* Rabattierter Preis anzeigen */ ?>
+						<?php if ($this->hasMod('wpsg_mod_discount') && $this->get_option('wpsg_mod_discount_productindex') == '1') { ?>
+							
+							<?php $oldPrice = $oProduct->getOldPrice();  ?>
+                			
+                			<?php if ($oldPrice !== false && $oldPrice != $oProduct->getPrice($this->view['data']['product_key'])) { ?>
+                				<span class="wpsg_mod_productview_newprice wpsg_mod_productview_price wpsg_mod_productview_current"><?php echo wpsg_ff($oProduct->getPrice($this->view['data']['product_key']), $this->get_option('wpsg_currency')); ?></span><br />
+                				<span class="wpsg_mod_productview_oldprice"><?php echo wpsg_ff($oldPrice, $this->get_option('wpsg_currency')); ?></span>
+                			<?php } else { ?>
+                				<span class="wpsg_mod_productview_price"><?php echo wpsg_ff($oProduct->getPrice($this->view['data']['product_key']), $this->get_option('wpsg_currency')); ?></span>
+                			<?php } ?>
+                			
+						<?php }else{?>
+						
+    						<?php if ($p['min_preis'] == $p['max_preis']) { ?>
+    							<?php echo wpsg_ff($p['preis'], $this->get_option('wpsg_currency')); ?>
+    						<?php } else { ?>
+    							<?php echo wpsg_translate(__('ab #1#', 'wpsg'), wpsg_ff($p['min_preis'], $this->get_option('wpsg_currency'))); ?>
+    						<?php } ?>
 						<?php } ?>
 					</div>
