Index: /mods/wpsg_mod_abo.class.php
===================================================================
--- /mods/wpsg_mod_abo.class.php	(revision 7987)
+++ /mods/wpsg_mod_abo.class.php	(revision 7988)
@@ -543,6 +543,18 @@
 			file_put_contents($upload_dir['basedir'].'/wpsg_cron_abo_log', date('d.m.Y H:i:s').' '.getmypid().' '.$_SERVER['REQUEST_URI'].' '.file_exists($pid_file)."\r\n", FILE_APPEND);
 			
-			if (file_exists($pid_file)) die("Cron lÃ€uft seit ".date('d.m.Y H:i:s', intval(file_get_contents($pid_file))));
-			else file_put_contents($pid_file, time());
+			if (file_exists($pid_file)) {
+				
+				echo "Cron lÃ€uft seit ".date('d.m.Y H:i:s', intval(file_get_contents($pid_file)))."\r\n";
+				exit;
+				
+			} else {
+				
+				echo "Cron gestartet um ".date('d.m.Y H:i:s')."<br />";
+				
+				file_put_contents($pid_file, time());
+				
+			}
+			
+			ob_end_flush();
 			
 			$t_start = microtime(true);
@@ -550,10 +562,13 @@
 			$checkEndCron = function() use ($t_start, $pid_file) {
 			
-				if (($GLOBALS['wpsg_mod_abo_cron_count']??0) > 50) {
+				if (($GLOBALS['wpsg_mod_abo_cron_count']??0) >= intval($_REQUEST['limit']??50)) {
 					
 					$this->shop->update_option('wpsg_mod_abo_cron_lastrun', time());
 					$this->shop->update_option('wpsg_mod_abo_cron_run', '0');
 		
-					unlink($pid_file); die("END");
+					unlink($pid_file); 
+					
+					echo "Cron beendet weil Limit (".intval($_REQUEST['limit']??50).") erreicht<br />";
+					exit;
 					
 				}
@@ -693,4 +708,6 @@
 
 			unlink($pid_file);
+			
+			echo "Cron normal beendet<br />";
 						
 		}
@@ -809,4 +826,5 @@
 				    $_SESSION['wpsg']['checkout']['payment'] = $oOrderProduct->getOrder()->getPaymentID();
 
+					/*
 					if (intval($_SESSION['wpsg']['checkout']['payment']) === 20) {
 						
@@ -819,4 +837,5 @@
 												
 					} 
+					*/
 					
                 } else {
@@ -1445,5 +1464,8 @@
 			
             if ($order_extend_exist > 0) return;
-					
+
+			if (isset($_REQUEST['allinkl'])) echo "VerlÃ€ngere Bestellung ".$order_id."<br />"; 
+			else print_r($_REQUEST);
+			
 			$GLOBALS['wpsg_mod_abo_cron_count'] = ($GLOBALS['wpsg_mod_abo_cron_count']??0) + 1; 
 			
@@ -1513,7 +1535,14 @@
 			];
 			
+			$order_data_old = $this->shop->cache->loadOrder($order_id);
+			
 			if ($this->shop->hasMod('wpsg_mod_autodebit')) {
-				 
-				$order_data_old = $this->shop->cache->loadOrder($order_id);
+						 
+				$arBasket['checkout']['mod_autodebit_name'] = wpsg_q($order_data_old['mod_autodebit_name']);
+				$arBasket['checkout']['mod_autodebit_blz'] = wpsg_q($order_data_old['mod_autodebit_blz']);
+				$arBasket['checkout']['mod_autodebit_bic'] = wpsg_q($order_data_old['mod_autodebit_bic']);
+				$arBasket['checkout']['mod_autodebit_inhaber'] = wpsg_q($order_data_old['mod_autodebit_inhaber']);
+				$arBasket['checkout']['mod_autodebit_knr'] = wpsg_q($order_data_old['mod_autodebit_knr']);
+				$arBasket['checkout']['mod_autodebit_iban'] = wpsg_q($order_data_old['mod_autodebit_iban']);
 				
 				$db_update['mod_autodebit_name'] = wpsg_q($order_data_old['mod_autodebit_name']);
@@ -1523,8 +1552,28 @@
 				$db_update['mod_autodebit_knr'] = wpsg_q($order_data_old['mod_autodebit_knr']);
 				$db_update['mod_autodebit_iban'] = wpsg_q($order_data_old['mod_autodebit_iban']);
-				 
+								
+			}
+			
+			if ($order_data_old['adress_id'] !== $order_data_old['shipping_adress_id']) {
+				
+				$db_update['shipping_adress_id'] = $order_data_old['shipping_adress_id'];
+				
+				$arBasket['checkout']['shipping_firma'] = $oOrder->getShippingCompany();
+				$arBasket['checkout']['shipping_vname'] = $oOrder->getShippingFirstName();
+				$arBasket['checkout']['shipping_name'] = $oOrder->getShippingName();
+				$arBasket['checkout']['shipping_strasse'] = $oOrder->getShippingStreet();
+				$arBasket['checkout']['shipping_nr'] = $oOrder->getShippingStreetNr();
+				$arBasket['checkout']['shipping_plz'] = $oOrder->getShippingZip();
+				$arBasket['checkout']['shipping_ort'] = $oOrder->getShippingCity();
+				$arBasket['shipping_land'] = [
+					'name' => $oOrder->getShippingCountryName()
+				];
+				
 			}
 			
 			$this->db->UpdateQuery(WPSG_TBL_ORDER, $db_update, " `id` = '".wpsg_q($new_o_id)."' ");
+			
+			wpsg_order::clearCache($new_o_id);
+			$this->shop->cache->clearOrderCache($new_o_id);
 			
             $arBasket['checkout']['knr'] = $customer_db_data['knr'];
