Index: /changelog
===================================================================
--- /changelog	(revision 7562)
+++ /changelog	(revision 7563)
@@ -255,4 +255,5 @@
 - Bugfix: Gutscheinwert wird nicht mehr addiert, sondern vom Warenkorbwert abgezogen
 - Bugfix: Probleme beim erstmaligen aktivieren in einem Multiblog behoben
+- Bugfix: Paketverfolgung erzeugt wieder einen Link in der Statusmail bei Ãnderung
 - Feature: KundenID in Kundenverwaltung sortierbar
 - Feature: Wertgutschein als GutscheinProdukt-MÃ¶glichkeit integrierbar
Index: /lib/wpsg_cache.class.php
===================================================================
--- /lib/wpsg_cache.class.php	(revision 7562)
+++ /lib/wpsg_cache.class.php	(revision 7563)
@@ -69,8 +69,8 @@
 		 * LÃ€dt die reinen Bestelldaten aus der Datenbank und gibt sie zurÃŒck
 		 */
-		public function loadOrder($order_id)
-		{
-			
-			if (!array_key_exists($order_id, $this->_arOrder))
+		public function loadOrder($order_id, $noCache = false)
+		{
+			
+			if (!array_key_exists($order_id, $this->_arOrder) || $noCache === true)
 			{
 					
Index: /model/wpsg_model.class.php
===================================================================
--- /model/wpsg_model.class.php	(revision 7562)
+++ /model/wpsg_model.class.php	(revision 7563)
@@ -90,4 +90,5 @@
 		 * Gibt eine Instanz dieses Models zurÃŒck anhand des PrimÃ€rschlÃŒssels
 		 * @param int $id
+		 * @param bool $noCache
 		 * @return static
 		 */
@@ -109,10 +110,13 @@
 				return $arReturn;
 				
-			} else if (is_array($id)) return array();
+			} else if (is_array($id)) {
+				
+				return [];
+				
+			}
 			else {
 				
-				if (!isset(self::$_objCache[$class_name]) || !array_key_exists($id, self::$_objCache[$class_name]) || $noCache === true)
-				{
-					
+				if (!isset(self::$_objCache[$class_name]) || !array_key_exists($id, self::$_objCache[$class_name]) || $noCache === true) {
+										
 					$oObject = new $class_name();
 					$oObject->load($id);
Index: /model/wpsg_order.class.php
===================================================================
--- /model/wpsg_order.class.php	(revision 7562)
+++ /model/wpsg_order.class.php	(revision 7563)
@@ -26,6 +26,6 @@
 
 			parent::load($order_id);
-			
-			@$this->data = &$this->shop->cache->loadOrder($order_id);
+						
+			@$this->data = &$this->shop->cache->loadOrder($order_id, true);
 			@$this->customer = &$this->shop->cache->loadCustomerObject($this->data['k_id']);
 			$this->bShippingAdress = $this->shop->callMod('wpsg_mod_shippingadress', 'check_different_shippingadress', array($this->data['k_id'], $order_id));
Index: /mods/wpsg_mod_packagetracking.class.php
===================================================================
--- /mods/wpsg_mod_packagetracking.class.php	(revision 7562)
+++ /mods/wpsg_mod_packagetracking.class.php	(revision 7563)
@@ -276,34 +276,34 @@
 		} // public function order_view_switchStatus(&$db_order)
 		
-		public function setOrderStatus($order_id, $status_id, $inform) 
-		{ 
-			
-			if (isset($_REQUEST['wpsg_mod_packagetracking_provider']))
-			{
+		public function setOrderStatus($order_id, $status_id, $inform) { 
+			
+			if (isset($_REQUEST['wpsg_mod_packagetracking_provider'])) {
+				
+				wpsg_checkInput($_REQUEST['wpsg_mod_packagetracking_code'], WPSG_SANITIZE_TEXTFIELD, ['allowEmpty' => true]);
+				wpsg_checkInput($_REQUEST['wpsg_mod_packagetracking_provider'], WPSG_SANITIZE_INT, ['allowEmpty' => true]);
 				
 				$this->db->UpdateQuery(WPSG_TBL_ORDER, array(
-					'wpsg_mod_packagetracking_code' => wpsg_q(wpsg_sinput("key", $_REQUEST['wpsg_mod_packagetracking_code'])),
-					'wpsg_mod_packagetracking_provider' => wpsg_q(wpsg_sinput("key", $_REQUEST['wpsg_mod_packagetracking_provider']))
+					'wpsg_mod_packagetracking_code' => wpsg_q($_REQUEST['wpsg_mod_packagetracking_code']),
+					'wpsg_mod_packagetracking_provider' => wpsg_q($_REQUEST['wpsg_mod_packagetracking_provider'])
 				), " `id` = '".wpsg_q($order_id)."' ");
-												
+							wpsg_debug("SET".$order_id.":".$_REQUEST['wpsg_mod_packagetracking_code']);
+							wpsg_debug($this->db->fetchRow("SELECT `wpsg_mod_packagetracking_code` FROM `".WPSG_TBL_ORDER."` WHERE `id` = '".wpsg_q($order_id)."'"));
 			}
 			
 		} // public function setOrderStatus($order_id, $status_id, $inform)
 		
-		public function mail_status(&$order, &$customer) 
-		{ 
-			 
-			if ($_REQUEST['status'] != 250 || !wpsg_isSizedInt($order['wpsg_mod_packagetracking_provider']) || !wpsg_isSizedString($order['wpsg_mod_packagetracking_code'])) return;
+		public function mail_status(&$order, &$customer) {
+			
+			$oOrder = wpsg_order::getInstance($order['id'], true);
+						 
+			if ($_REQUEST['status'] != 250 || !wpsg_isSizedInt($oOrder->__get('wpsg_mod_packagetracking_provider')) || !wpsg_isSizedString($oOrder->__get('wpsg_mod_packagetracking_code'))) return;
 			
 			$this->shop->view['wpsg_mod_packagetracking']['trackingURL'] = $this->getTrackingURL($order['id']);
 			
-			if ($this->shop->htmlMail === true)
-			{
+			if ($this->shop->htmlMail === true) {
 
 				echo $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_packagetracking/mail_status_html.phtml');
 				
-			}
-			else
-			{
+			} else {
 			
 				echo $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_packagetracking/mail_status.phtml');
Index: /views/mailtemplates/status.phtml
===================================================================
--- /views/mailtemplates/status.phtml	(revision 7562)
+++ /views/mailtemplates/status.phtml	(revision 7563)
@@ -24,7 +24,11 @@
 	
 	
-?><?php echo wpsg_translate(__('Hallo #1# #2# #3#,', 'wpsg'), $oCustomer->getTitle(), $oCustomer->getFirstname(), $oCustomer->getName()); ?>
- <br /><br />
-<?php echo wpsg_translate(
+?><?php 
+	
+	echo wpsg_translate(__('Hallo #1# #2# #3#,', 'wpsg'), $oCustomer->getTitle(), $oCustomer->getFirstname(), $oCustomer->getName()); 
+	
+?>
+	
+<?php echo wpsg_translate(	
 	__('Der Status Ihrer Bestellung mit der Bestellnummer #1# hat sich von "#2#" auf "#3#" "#4#"geÃ€ndert.', 'wpsg'), 
 	$this->view['order']['onr'], 
@@ -32,54 +36,32 @@
 	__($this->view['status_neu'], 'wpsg'),
     __($this->view['state_new_id'], 'wpsg')); ?> 
+
 <?php $this->callMods('mail_status', array(&$this->view['order'], &$this->view['kunde'])); ?>    
-<br />
+ 
 <?php if ($this->view['state_new_id'] == '1') { ?>
-	<br /><?php echo __('Ihr Auftrag wurde akzeptiert', 'wpsg'); ?><br />
-<?php } ?>    
-    
-<?php if ($this->view['state_new_id'] == '2') { ?>
-	<br /><?php echo __('Ihre Bestellung ist unvollstÃ€ndig. Bitte prÃŒfen Sie die Daten!', 'wpsg'); ?><br />			   
-<?php } ?>
-
-<?php if ($this->view['state_new_id'] == '100') { ?>
-	<br /><?php echo __('Ihre Zahlung wurde akzeptiert. Vielen Dank!', 'wpsg'); ?><br />
+<?php echo __('Ihr Auftrag wurde akzeptiert', 'wpsg'); ?> 
+<?php } else if ($this->view['state_new_id'] == '2') { ?>
+<?php echo __('Ihre Bestellung ist unvollstÃ€ndig. Bitte prÃŒfen Sie die Daten!', 'wpsg'); ?> 			   
+<?php } else if ($this->view['state_new_id'] == '100') { ?>
+<?php echo __('Ihre Zahlung wurde akzeptiert. Vielen Dank!', 'wpsg'); ?> 
+<?php } else if ($this->view['state_new_id'] == '100') { ?>
+<?php echo __('Ihre Zahlung wurde nicht akzeptiert. Bitte prÃŒfen Sie den Zahlungsvorgang.', 'wpsg'); ?> 	   
+<?php } else if ($this->view['state_new_id'] == '250') { ?>
+<?php echo __('Ihre Ware wurde versendet!', 'wpsg'); ?> 
+<?php } else if ($this->view['state_new_id'] == '300')	{ ?>
+<?php echo __('Ihre Ware wurde zugestellt!', 'wpsg'); ?> 
+<?php } else if ($this->view['state_new_id'] == '400') { ?>
+<?php echo __('Ihre Zahlung wurde zurÃŒckgezahlt!', 'wpsg'); ?> 
+<?php } else if ($this->view['state_new_id'] == '500') { ?>
+<?php echo __('Ihre Bestellung wurde storniert!', 'wpsg'); ?> 
+<?php } else if ($this->view['state_new_id'] == '600') { ?>
+<?php echo __('Ihr Abo ist aktiv!', 'wpsg'); ?> 
+<?php } else if ($this->view['state_new_id'] == '610') { ?>
+<?php echo __('Ihre AbokÃŒndigung steht noch offen.', 'wpsg'); ?> 
+<?php } else if ($this->view['state_new_id'] == '620') { ?>
+<?php echo __('Ihr Abo wurde erfolgreich gekÃŒndigt!', 'wpsg'); ?> 
 <?php } ?>
 				
-<?php if ($this->view['state_new_id'] == '100') { ?>
-	<br /><?php echo __('Ihre Zahlung wurde nicht akzeptiert. Bitte prÃŒfen Sie den Zahlungsvorgang.', 'wpsg'); ?><br />	   
-<?php } ?>
-				
-<?php if ($this->view['state_new_id'] == '250') { ?>
-    <br /><?php echo __('Ihre Ware wurde versendet!', 'wpsg'); ?><br />
-<?php } ?>
-			    
-<?php if ($this->view['state_new_id'] == '300')	{ ?>
-	<br /><?php echo __('Ihre Ware wurde zugestellt!', 'wpsg'); ?><br />
-<?php } ?>
-				
-<?php if ($this->view['state_new_id'] == '400') { ?>
-	<br /><?php echo __('Ihre Zahlung wurde zurÃŒckgezahlt!', 'wpsg'); ?><br />
-<?php } ?>
-				
-<?php if ($this->view['state_new_id'] == '500') { ?>
-	<br /><?php echo __('Ihre Bestellung wurde storniert!', 'wpsg'); ?><br />
-<?php } ?>
-
-
-<?php if ($this->view['state_new_id'] == '600') { ?>
-	<br /><?php echo __('Ihr Abo ist aktiv!', 'wpsg'); ?><br />
-<?php } ?>
-
-
-<?php if ($this->view['state_new_id'] == '610')	{ ?>
-	<br /><?php echo __('Ihre AbokÃŒndigung steht noch offen.', 'wpsg'); ?><br />
-<?php } ?>
-
-
-<?php if ($this->view['state_new_id'] == '620') { ?>
-	<br /><?php echo __('Ihr Abo wurde erfolgreich gekÃŒndigt!', 'wpsg'); ?><br />
-<?php } ?>
-				
-<br /><?php echo __('Mit freundlichen GrÃŒÃen', 'wpsg'); ?>
-
+<?php echo __('Mit freundlichen GrÃŒÃen', 'wpsg'); ?> 
+ 
 <?php echo __($this->get_option('wpsg_shopdata_name'), 'wpsg'); ?> - <?php echo __('Team', 'wpsg'); ?>
