Index: /changelog
===================================================================
--- /changelog	(revision 6951)
+++ /changelog	(revision 6954)
@@ -86,3 +86,8 @@
 - Bugfix: BestellstatusÃ€nderung liefert leere Bestellung
 - Bugfix: im Warenkorb wurde kein LÃ¶schen-Button pro Produkt angezeigt
+- Bugfix: Aktivierungsprobleme in Multiblogumgebung
+- Bugfix: BeschrÃ€nkung des Pathkeys (ProduktArtikel) auf 20 Zeichen
+- Bugfix: Maskierung fÃŒr Sonderzeichen 
 - Feature: Erweiterung der Sprachdateien aufgrund von Modulerweiterungen
+- Feature: Urlaubsdarstellung in Lieferzeitmodul integriert
+- Feature: UPS-Logo integrieren
Index: /mods/wpsg_mod_deliverytime.class.php
===================================================================
--- /mods/wpsg_mod_deliverytime.class.php	(revision 6951)
+++ /mods/wpsg_mod_deliverytime.class.php	(revision 6954)
@@ -45,5 +45,9 @@
 				wpsg_mod_deliverytime_delay INT(1) DEFAULT 0 NOT NULL COMMENT '1=VerzÃ¶gerung',
 				wpsg_mod_deliverytime_delaytext VARCHAR (255) NOT NULL COMMENT 'Grund',
-				wpsg_mod_deliverytime_delaytime VARCHAR (255) NOT NULL COMMENT 'Zeitangabe'
+				wpsg_mod_deliverytime_delaytime VARCHAR (255) NOT NULL COMMENT 'Zeitangabe',
+				wpsg_mod_deliverytime_holiday INT(1) DEFAULT 0 NOT NULL COMMENT '1=Urlaub aktiv',
+				wpsg_mod_deliverytime_holidayStart VARCHAR (255) NOT NULL COMMENT 'ZeitangabeBEGINN',
+				wpsg_mod_deliverytime_holidayEnd VARCHAR (255) NOT NULL COMMENT 'ZeitangabeENDE',
+				wpsg_mod_deliverytime_holidaytext VARCHAR (255) NOT NULL COMMENT 'Urlaubstext'
 		   	) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;";
 
@@ -101,4 +105,8 @@
 			$this->shop->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_delaytext'] = $product_data['wpsg_mod_deliverytime_delaytext'];
 			$this->shop->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_delaytime'] = $product_data['wpsg_mod_deliverytime_delaytime'];
+			$this->shop->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_holiday'] = $product_data['wpsg_mod_deliverytime_holiday'];
+			$this->shop->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_holidaytext'] = $product_data['wpsg_mod_deliverytime_holidaytext'];
+			$this->shop->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_holidayStart'] = $product_data['wpsg_mod_deliverytime_holidayStart'];
+			$this->shop->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_holidayEnd'] = $product_data['wpsg_mod_deliverytime_holidayEnd'];
 
 			$product_content['general']['content'] .= $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_deliverytime/produkt_addedit_allgemein.phtml', false);
@@ -145,7 +153,13 @@
 			$this->shop->update_option('wpsg_mod_deliverytime_show_mail', $_REQUEST['wpsg_mod_deliverytime_show_mail']);
 			$this->shop->update_option('wpsg_mod_deliverytime_source', $_REQUEST['wpsg_mod_deliverytime_source']);
+			
 			$this->shop->update_option('wpsg_mod_deliverytime_delay', $_REQUEST['wpsg_mod_deliverytime_delay']);
 			$this->shop->update_option('wpsg_mod_deliverytime_delayText', $_REQUEST['wpsg_mod_deliverytime_delayText']);
 			$this->shop->update_option('wpsg_mod_deliverytime_delayTime', $_REQUEST['wpsg_mod_deliverytime_delayTime']);
+			
+			$this->shop->update_option('wpsg_mod_deliverytime_holiday', $_REQUEST['wpsg_mod_deliverytime_holiday']);
+			$this->shop->update_option('wpsg_mod_deliverytime_holidayStart', $_REQUEST['wpsg_mod_deliverytime_holidayStart']);
+			$this->shop->update_option('wpsg_mod_deliverytime_holidayEnd', $_REQUEST['wpsg_mod_deliverytime_holidayEnd']);
+			$this->shop->update_option('wpsg_mod_deliverytime_holidaytext', $_REQUEST['wpsg_mod_deliverytime_holidaytext']);
 
 			$this->shop->addTranslationString('wpsg_mod_deliverytime_mode_select_values', $_REQUEST['wpsg_mod_deliverytime_mode_select_values']);
@@ -167,4 +181,8 @@
 			$produkt_data['wpsg_mod_deliverytime_delaytext'] = wpsg_q(wpsg_getStr($_REQUEST['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_delaytext']));
 			$produkt_data['wpsg_mod_deliverytime_delaytime'] = wpsg_q(wpsg_getStr($_REQUEST['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_delaytime']));
+			$produkt_data['wpsg_mod_deliverytime_holiday'] = wpsg_q(wpsg_getStr($_REQUEST['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_holiday']));
+			$produkt_data['wpsg_mod_deliverytime_holidaytext'] = wpsg_q(wpsg_getStr($_REQUEST['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_holidaytext']));
+			$produkt_data['wpsg_mod_deliverytime_holidayStart'] = wpsg_q(wpsg_getStr($_REQUEST['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_holidayStart']));
+			$produkt_data['wpsg_mod_deliverytime_holidayEnd'] = wpsg_q(wpsg_getStr($_REQUEST['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_holidayEnd']));
 			
 		} // public function produkt_save_before(&$produkt_data)
@@ -269,9 +287,35 @@
 		public function canOrder($product_key)
 		{
-
+			
+			/* Offlineprodukt */
 			if ($this->isStoreProduct($product_key)) return -2;
-
+			
+			/* Urlaubsmodul*/
+			if ($this->shop->get_option('wpsg_mod_deliverytime_holiday') == '1') {
+			
+				$time = time();
+				$holidaystart = strtotime($this->shop->get_option('wpsg_mod_deliverytime_holidayStart'));
+				$holidayend = strtotime($this->shop->get_option('wpsg_mod_deliverytime_holidayEnd'));
+
+				if (time >= holidaystart && time <= holidayend) return -2;
+				
+			}
+			
 		}
-
+		
+		/**
+		 *	Liefert den Text, der bei aktivierter Urlaubsoption angezeigt wird 
+		 * 	@param $product_key
+		 */
+		public function displayHolidaytext($product_key)
+		{
+				
+			$oProduct = wpsg_product::getInstance($this->shop->getProduktID($product_key));
+				
+			if ($oProduct->wpsg_mod_deliverytime_holiday == 1) return __($oProduct->wpsg_mod_deliverytime_holidaytext, 'wpsg');
+			else return __($this->shop->get_option('wpsg_mod_deliverytime_holidaytext'), 'wpsg');
+				
+		} // public function displayHolidaytext($product_key)
+		
 		/**
 		 * Liefert einen Text, der bei Offline-Produkten angezeigt wird
@@ -402,4 +446,18 @@
 		
 	
+		public function holiday ($product_key)
+		{
+		
+			// Die Produkteinstellung als Urlaub anzeigen
+			// array(0 => 'Standardeinstellung', 1 => 'Offlineprodukt', 2 => 'Onlineprodukt')
+			$oProduct = wpsg_product::getInstance($this->shop->getProduktID($product_key));
+				
+			if ($oProduct->wpsg_mod_deliverytime_holiday == 2) return false;
+			else if ($oProduct->wpsg_mod_deliverytime_holiday == 1) return true;
+			else if ($this->shop->get_option('wpsg_mod_deliverytime_holiday') != '1') return false;
+			else return true;
+				
+		}
+		
 		/**
 		 * Gibt die Lieferzeit eines Produktes anhand seiner ID zurÃŒck
Index: /views/css/frontend.css
===================================================================
--- /views/css/frontend.css	(revision 6951)
+++ /views/css/frontend.css	(revision 6954)
@@ -242,4 +242,5 @@
     margin-bottom: 0.5em;
 }
+.wpsg_product_deliverytime_holiday { height:50px; padding:10px; width:50%; float:right; border:1px solid #ff0000; }
 
 @media (max-width:400px) {
Index: /views/mods/mod_deliverytime/produkt_addedit_allgemein.phtml
===================================================================
--- /views/mods/mod_deliverytime/produkt_addedit_allgemein.phtml	(revision 6951)
+++ /views/mods/mod_deliverytime/produkt_addedit_allgemein.phtml	(revision 6954)
@@ -18,28 +18,40 @@
 	<?php } ?>
 	</div>
-	<?php /* if (wpsg_isSizedInt($this->get_option('wpsg_mod_deliverytime_store'))) */ {?>
-		<?php if (isset($this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_storeproduct']))
-				//echo wpsg_drawForm_Checkbox('wpsg_mod_deliverytime[wpsg_mod_deliverytime_storeproduct1]', __('Als Offlineprodukt anzeigen', 'wpsg'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_storeproduct'], array('help' => 'wpsg_mod_deliverytime_store'));?>
-				<?php echo wpsg_drawForm_Select('wpsg_mod_deliverytime[wpsg_mod_deliverytime_storeproduct]', __('Als Offlineprodukt anzeigen', 'wpsg'), array(0 => 'Moduleinstellungen', 1 => 'Offlineprodukt', 2 => 'Onlineprodukt'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_storeproduct'], array('noIndex' => true, 'help' => 'wpsg_mod_deliverytime_store')); ?>
+	<?php if (isset($this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_storeproduct'])) {?>
+		<?php echo wpsg_drawForm_Select('wpsg_mod_deliverytime[wpsg_mod_deliverytime_storeproduct]', __('Als Offlineprodukt anzeigen', 'wpsg'), array(0 => 'Moduleinstellungen', 1 => 'Offlineprodukt', 2 => 'Onlineprodukt'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_storeproduct'], array('noIndex' => true, 'help' => 'wpsg_mod_deliverytime_store')); ?>
+	
+		<div class="wpsg_mod_deliverytime_store wpsg_mod_deliverytime_store_1">
+		    <?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime[wpsg_mod_deliverytime_storetext]', __('Hinweistext', 'wpsg'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_storetext'], array('help' => 'wpsg_mod_deliverytime_storetext')); ?>
+		    <?php ?>
+		    <?php $arPageWithoutCreate = $this->view['pages']; unset($arPageWithoutCreate['-1']); ?>
+		    <?php echo wpsg_drawForm_Select('wpsg_mod_deliverytime[wpsg_mod_deliverytime_storelink]', __('Seite mit Adressdaten', 'wpsg'), wpsg_array_merge(array(
+		        '0' => __('Keine Verlinkung auf eine Seite anzeigen', 'wpsg')
+		    ), $arPageWithoutCreate), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_storelink'], array('help' => 'wpsg_page_mod_deliverytime_storelink')); ?>
+		</div>
+			
+		<br />
+	
+	<?php } ?>
 
-	<div class="wpsg_mod_deliverytime_store wpsg_mod_deliverytime_store_1">
-	    <?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime[wpsg_mod_deliverytime_storetext]', __('Hinweistext', 'wpsg'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_storetext'], array('help' => 'wpsg_mod_deliverytime_storetext')); ?>
-	    <?php ?>
-	    <?php $arPageWithoutCreate = $this->view['pages']; unset($arPageWithoutCreate['-1']); ?>
-	    <?php echo wpsg_drawForm_Select('wpsg_mod_deliverytime[wpsg_mod_deliverytime_storelink]', __('Seite mit Adressdaten', 'wpsg'), wpsg_array_merge(array(
-	        '0' => __('Keine Verlinkung auf eine Seite anzeigen', 'wpsg')
-	    ), $arPageWithoutCreate), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_storelink'], array('help' => 'wpsg_page_mod_deliverytime_storelink')); ?>
-	</div>
+	<?php /* VerzÃ¶gerung */ ?>
+	<?php if ($this->hasMod('wpsg_mod_deliverytime') && ($this->get_option('wpsg_mod_deliverytime_delay') == '1')) { ?>
+		<?php echo wpsg_drawForm_Select('wpsg_mod_deliverytime[wpsg_mod_deliverytime_delay]', __('Hinweistext bei VerzÃ¶gerungen anzeigen', 'wpsg'), array(0 => 'Moduleinstellungen', 1 => 'Anzeigen', 2 => 'Nicht anzeigen'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_delay'], array('noIndex' => true, 'help' => 'wpsg_mod_deliverytime_delay')); ?>
+		<div class="wpsg_mod_deliverytime_delay_activ" style="display:none;">
+			<?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime[wpsg_mod_deliverytime_delaytext]', __('Grund fÃŒr verzÃ¶gerte Lieferung', 'wpsg'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_delaytext'], array('help' => 'wpsg_mod_deliverytime_delayText')); ?>
+			<?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime[wpsg_mod_deliverytime_delaytime]', __('Zeitangabe der VerzÃ¶gerung', 'wpsg'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_delaytime'], array('help' => 'wpsg_mod_deliverytime_delayTime')); ?>
+		</div>
+	<?php } ?>
 	
 	<br />
-
+	
+	<?php /* Urlaubsmodus aktiv */ ?>
+	<?php if ($this->hasMod('wpsg_mod_deliverytime') && ($this->get_option('wpsg_mod_deliverytime_holiday') == '1')) { ?>
+		<?php echo wpsg_drawForm_Select('wpsg_mod_deliverytime[wpsg_mod_deliverytime_holiday]', __('Urlaubszeit', 'wpsg'), array(0 => 'Moduleinstellungen', 1 => 'Produktspezifische Einstellung'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_holiday'], array('noIndex' => true, 'help' => 'wpsg_mod_deliverytime_holiday')); ?>
+		<div class="wpsg_mod_deliverytime_holiday_activ" style="display:none;">
+			<?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime[wpsg_mod_deliverytime_holidayStart]', __('Urlaubsbeginn', 'wpsg'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_holidayStart'], array('datepicker' => true, 'help' => 'wpsg_mod_deliverytime_holidayStart')); ?>
+			<?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime[wpsg_mod_deliverytime_holidayEnd]', __('Urlaubsende', 'wpsg'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_holidayEnd'], array('datepicker' => true, 'help' => 'wpsg_mod_deliverytime_holidayEnd')); ?>
+			<?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime[wpsg_mod_deliverytime_holidaytext]', __('UrlaubsgruÃ', 'wpsg'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_holidaytext'], array('help' => 'wpsg_mod_deliverytime_holidayText')); ?>
+		</div>
 	<?php } ?>
-	
-	<?php //echo wpsg_drawForm_Checkbox('wpsg_mod_deliverytime[wpsg_mod_deliverytime_delay]', __('Hinweistext bei VerzÃ¶gerungen anzeigen', 'wpsg'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_delay'], array('help' => 'wpsg_mod_deliverytime_delay')); ?>
-	<?php echo wpsg_drawForm_Select('wpsg_mod_deliverytime[wpsg_mod_deliverytime_delay]', __('Hinweistext bei VerzÃ¶gerungen anzeigen', 'wpsg'), array(0 => 'Moduleinstellungen', 1 => 'Anzeigen', 2 => 'Nicht anzeigen'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_delay'], array('noIndex' => true, 'help' => 'wpsg_mod_deliverytime_delay')); ?>
-	<div class="wpsg_mod_deliverytime_delay_activ" style="display:none;">
-	<?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime[wpsg_mod_deliverytime_delaytext]', __('Grund fÃŒr verzÃ¶gerte Lieferung', 'wpsg'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_delaytext'], array('help' => 'wpsg_mod_deliverytime_delayText')); ?>
-	<?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime[wpsg_mod_deliverytime_delaytime]', __('Zeitangabe der VerzÃ¶gerung', 'wpsg'), $this->view['wpsg_mod_deliverytime']['wpsg_mod_deliverytime_delaytime'], array('help' => 'wpsg_mod_deliverytime_delayTime')); ?>
-	</div>
 	
 	<br />
@@ -70,4 +82,11 @@
 		} ).change();
 
+		jQuery('#wpsg_mod_deliverytimewpsg_mod_deliverytime_holiday').bind('change', function() {
+
+			if (jQuery(this).val() == 1) jQuery('.wpsg_mod_deliverytime_holiday_activ').show();
+			else jQuery('.wpsg_mod_deliverytime_holiday_activ').hide();
+			
+		} ).change();
+
 		jQuery('#wpsg_mod_deliverytimewpsg_mod_deliverytime_source').bind('change', function() {
 
Index: /views/mods/mod_deliverytime/settings_edit.phtml
===================================================================
--- /views/mods/mod_deliverytime/settings_edit.phtml	(revision 6951)
+++ /views/mods/mod_deliverytime/settings_edit.phtml	(revision 6954)
@@ -37,4 +37,13 @@
 <?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime_delayText', __('Grund fÃŒr verzÃ¶gerte Lieferung', 'wpsg'), $this->get_option('wpsg_mod_deliverytime_delayText'), array('help' => 'wpsg_mod_deliverytime_delayText')); ?>
 <?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime_delayTime', __('Zeitangabe der VerzÃ¶gerung', 'wpsg'), $this->get_option('wpsg_mod_deliverytime_delayTime'), array('help' => 'wpsg_mod_deliverytime_delayTime')); ?>
+</div>
+
+<br /><br />
+
+<?php echo wpsg_drawForm_Checkbox('wpsg_mod_deliverytime_holiday', __('Urlaubzeit', 'wpsg'), $this->get_option('wpsg_mod_deliverytime_holiday'), array('help' => 'wpsg_mod_deliverytime_holiday')); ?>
+<div class="wpsg_mod_deliverytime_holiday_activ" style="display:none;">
+<?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime_holidayStart', __('Urlaubsbeginn', 'wpsg'), $this->get_option('wpsg_mod_deliverytime_holidayStart'), array('datepicker' => true, 'help' => 'wpsg_mod_deliverytime_holidayStart')); ?>
+<?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime_holidayEnd', __('Urlaubsende', 'wpsg'), $this->get_option('wpsg_mod_deliverytime_holidayEnd'), array('datepicker' => true, 'help' => 'wpsg_mod_deliverytime_holidayEnd')); ?>
+<?php echo wpsg_drawForm_Input('wpsg_mod_deliverytime_holidaytext', __('UrlaubsgruÃ', 'wpsg'), $this->get_option('wpsg_mod_deliverytime_holidaytext'), array('help' => 'wpsg_mod_deliverytime_holidaytext')); ?>
 </div>
 
@@ -81,4 +90,11 @@
 			
 		} ).change();
+
+		jQuery('#wpsg_mod_deliverytime_holiday').bind('change', function() {
+
+			if (jQuery(this).is(':checked')) jQuery('.wpsg_mod_deliverytime_holiday_activ').show();
+			else jQuery('.wpsg_mod_deliverytime_holiday_activ').hide();
+			
+		} ).change();
 		
 	} );
Index: /views/produkttemplates/standard.phtml
===================================================================
--- /views/produkttemplates/standard.phtml	(revision 6951)
+++ /views/produkttemplates/standard.phtml	(revision 6954)
@@ -240,11 +240,18 @@
 
 					<input type="text" value="<?php echo ((wpsg_isSizedInt($this->view['data']['menge']))?$this->view['data']['menge']:'1'); ?>" name="wpsg[menge]" class="wpsg_menge" id="wpsg_menge_<?php echo $this->getTemplateIndex(); ?>" <?php echo (($this->view['data']['basket_multiple'] == 4)?' readonly="readonly" ':''); ?> />
-					
+							
 					<?php /* Urlaubsmodus aktiv */ ?>
 					<?php if ($this->hasMod('wpsg_mod_deliverytime') && ($this->get_option('wpsg_mod_deliverytime_holiday') == '1')) { ?>
 						
-						<div class="wpsg_product_deliverytime_holiday"><?php echo __($this->callMod('wpsg_mod_deliverytime', 'holidayText', array($this->view['data']['product_key']))); ?></div>
-						
-
+						<?php if ($this->callMod('wpsg_mod_deliverytime', 'holiday', array($this->view['data']['product_key']))) { ?>
+						
+							<div class="wpsg_product_deliverytime_holiday" style="height:50px; padding:10px; width:50%; float:right; border:1px solid #ff0000;">
+																													
+								<?php echo __($this->callMod('wpsg_mod_deliverytime', 'displayHolidaytext', array($this->view['data']['product_key']))); ?>
+								
+							</div>					
+					
+						<?php } ?>
+							
 					<?php } else {?>
 					
