Index: /model/wpsg_product.class.php
===================================================================
--- /model/wpsg_product.class.php	(revision 6108)
+++ /model/wpsg_product.class.php	(revision 6110)
@@ -253,4 +253,67 @@
 		} // public function getDefaultTaxValue()
 
+		/**
+		 * Gibt true zurÃŒck, wenn der Produktpreis angezeigt werden darf
+		 */
+		public function canDisplayPrice()
+		{
+			
+			$wpsg_mod_kundenverwaltung_preisAnzeige = $this->shop->get_option('wpsg_mod_kundenverwaltung_preisAnzeige');
+			
+			if (wpsg_isSizedInt($wpsg_mod_kundenverwaltung_preisAnzeige))
+			{
+								
+				// Preis und Kauf nur fÃŒr angemeldete Benutzer
+				$isLoggedIn = $this->shop->callMod('wpsg_mod_kundenverwaltung', 'isLoggedIn');
+				
+				if (wpsg_isSizedInt($isLoggedIn))
+				{
+					
+					return true;
+					
+				}
+				else
+				{
+					
+					return false;
+					
+				}
+				
+			} else return true;
+			
+		} // public function canDisplayPrice()
+		
+		/**
+		 * Gibt true zurÃŒck, wenn das Produkt gekauft werden kann, false wenn nicht 
+		 */
+		public function canOrder()
+		{
+				
+			// Preis und Kauf nur fÃŒr angemeldete Benutzer?
+			$wpsg_mod_kundenverwaltung_preisAnzeige = $this->shop->get_option('wpsg_mod_kundenverwaltung_preisAnzeige');
+			
+			if (wpsg_isSizedInt($wpsg_mod_kundenverwaltung_preisAnzeige))
+			{
+				
+				$isLoggedIn = $this->shop->callMod('wpsg_mod_kundenverwaltung', 'isLoggedIn');
+				
+				if (wpsg_isSizedInt($isLoggedIn)) return false; 
+				
+			} 
+			
+			// Anfrageprodukt?
+			if ($this->shop->hasMod('wpsg_mod_request'))
+			{
+								
+				$wpsg_mod_request_set = $this->getMeta('wpsg_mod_request_set');
+			
+				if (!(!is_numeric($wpsg_mod_request_set) || in_array($wpsg_mod_request_set, array(wpsg_mod_request::TYP_NO, wpsg_mod_request::TYP_YESWITHBASKET)))) return false;
+				
+			}
+			 			
+			return true;
+			
+		} // public function canOrder()
+		
 		/**
 		 * Gibt den MwSt. Wert fÃŒr das Frontend zurÃŒck
Index: /mods/wpsg_mod_basic.class.php
===================================================================
--- /mods/wpsg_mod_basic.class.php	(revision 6108)
+++ /mods/wpsg_mod_basic.class.php	(revision 6110)
@@ -439,7 +439,4 @@
 		public function basket_produkttosession($produkt_key, &$menge, &$ses_data) { }
 		
-		/** Ob das Produkt gekauft werden kann */
-		public function productForSale($product_key) { }
-		
 		/**
 		 * Wird aufgerufen wenn ein bestehendes Produkt aktualsiert werden soll
Index: /mods/wpsg_mod_funding.class.php
===================================================================
--- /mods/wpsg_mod_funding.class.php	(revision 6108)
+++ /mods/wpsg_mod_funding.class.php	(revision 6110)
@@ -62,13 +62,4 @@
 			
 		} // public function settings_save()
-		
-		public function productForSale($product_key) 
-		{
-			 
-			$product_id = $this->shop->getProduktID($product_key);
-						
-			if ($this->isFundingProduct($product_id) && $this->getFundingState($product_id) != self::STATE_RUNNING) return -2;
-						
-		} // public function productForSale($product_key) 
 		
 		public function product_bottom(&$produkt_id, $template_index) 
Index: /mods/wpsg_mod_request.class.php
===================================================================
--- /mods/wpsg_mod_request.class.php	(revision 6108)
+++ /mods/wpsg_mod_request.class.php	(revision 6110)
@@ -893,24 +893,5 @@
 			
 		} // public function isRequestProduct($product_id)
-		
-		/**
-		 * Gibt true oder false zurÃŒck ob das Produkt kÃ€uflich erworben werden kann.
-		 * FÃŒr die Anzeige des Buttons "In den Warenkorb" im Produkttemplate
-		 * @param int $product_id
-		 */
-		public function productForSale($product_key)
-		{
-			
-			$product_id = $this->shop->getProduktID($product_key);
-			
-			$oProduct = wpsg_product::getInstance($product_id);
-			
-			$wpsg_mod_request_set = $oProduct->getMeta('wpsg_mod_request_set');
-			
-			if (!is_numeric($wpsg_mod_request_set) || in_array($wpsg_mod_request_set, array(wpsg_mod_request::TYP_NO, wpsg_mod_request::TYP_YESWITHBASKET))) return true;
-			else return -2;
-			
-		} // public function productForSale($product_id)
-		
+		 
 		/**
 		 * FÃŒhrt die Anfrage aus und sendet die Mails an den Shop Betreiber und Kunden
Index: /views/produkttemplates/standard.phtml
===================================================================
--- /views/produkttemplates/standard.phtml	(revision 6108)
+++ /views/produkttemplates/standard.phtml	(revision 6110)
@@ -198,6 +198,6 @@
 				
 				<div class="wpsg_product_buttonarea">
-					<div class="wpsg_product_buttons_add_basket">							
-						<?php if ($this->callMods('productForSale', array($this->view['data']['product_key'])) || ($this->hasMod('wpsg_mod_request') && $this->callMod('wpsg_mod_request', 'isRequestProduct', array($this->view['data']['id'])))) { ?>
+					<div class="wpsg_product_buttons_add_basket">
+						<?php if ($this->view['oProduct']->canOrder()) { ?>						
 						<div class="wpsg_produkt_add_basket_wrapper">	
 							
Index: /views/produkttemplates/standard_ajax.phtml
===================================================================
--- /views/produkttemplates/standard_ajax.phtml	(revision 6108)
+++ /views/produkttemplates/standard_ajax.phtml	(revision 6110)
@@ -164,5 +164,5 @@
 			</div>
 					
-			<?php if (!$this->hasMod('wpsg_mod_request') || $this->callMod('wpsg_mod_request', 'productForSale', array($this->view['data']['id']))) { ?>
+			<?php if ($this->view['oProduct']->canOrder()) { ?>
 			<input class="wpsg_button wpsg_add_basket wpsg_add_basket_<?php echo $this->getTemplateIndex(); ?>" type="submit" value="<?php echo __('In den Warenkorb', 'wpsg'); ?>" name="wpsg[submit]" />
 			<?php } ?>
Index: /views/produkttemplates/standard_mt.phtml
===================================================================
--- /views/produkttemplates/standard_mt.phtml	(revision 6108)
+++ /views/produkttemplates/standard_mt.phtml	(revision 6110)
@@ -213,5 +213,5 @@
 				<div class="wpsg_product_buttonarea">
 					<div class="wpsg_product_buttons_add_basket">							
-						<?php if ($this->callMods('productForSale', array($this->view['data']['product_key'])) || ($this->hasMod('wpsg_mod_request') && $this->callMod('wpsg_mod_request', 'isRequestProduct', array($this->view['data']['id'])))) { ?>
+						<?php if ($this->view['oProduct']->canOrder()) { ?>
 						<div class="wpsg_produkt_add_basket_wrapper">	
 							
