Index: /changelog
===================================================================
--- /changelog	(revision 7766)
+++ /changelog	(revision 7767)
@@ -391,2 +391,5 @@
 - Bugfix: Button "Mediathek" ist nicht mehr beschreibbar / Task #741
 - Bugfix: Zahlungsart "Kostenlos" lÃ€sst sich im Produkt auswÃ€hlen / Task #743
+- Bugfix: DownloadPlus - Dateinamen mit Freizeichen sind jetzt mÃ¶glich / Task #744
+- Bugfix: Technische Einstellungen in Bestellung unter "Entwickleroptionen" verschoben um Verwirrungen zu vermeiden
+- Bugfix: Ist Mindestbestellmenge einzeln aktiviert erscheint es im Reiter "Bestand / Gew. / FÃŒllm." innerhalb der Produktverwaltung / Task #745
Index: /controller/wpsg_ShopController.class.php
===================================================================
--- /controller/wpsg_ShopController.class.php	(revision 7766)
+++ /controller/wpsg_ShopController.class.php	(revision 7767)
@@ -830,17 +830,13 @@
 		 * Ich hab das nicht in den Konstruktor gepackt, damit einige Funktionen aus der initShop Methode schon auf das $GLOBALS zugreifen kÃÃžÎ©nnen
 		 */
-		public function initShop()
-		{
+		public function initShop() {
 		    
-			if (is_admin() && defined('FORCE_SSL_ADMIN') && FORCE_SSL_ADMIN == true)
-			{
+			if (is_admin() && defined('FORCE_SSL_ADMIN') && FORCE_SSL_ADMIN == true) {
 
 				// Backend lÃ€uft mit SSL
-                
-
-			}
-
-			if (preg_match('/update-core\.php/', $_SERVER['PHP_SELF']))
-			{
+
+			}
+
+			if (preg_match('/update-core\.php/', $_SERVER['PHP_SELF'])) {
 
 				$this->update_option('wpsg_lastupdate', false);
@@ -940,4 +936,6 @@
 				
 			}
+
+			$this->callMods('init');
 
 		} // public function initShop()
Index: /mods/wpsg_mod_downloadplus.class.php
===================================================================
--- /mods/wpsg_mod_downloadplus.class.php	(revision 7766)
+++ /mods/wpsg_mod_downloadplus.class.php	(revision 7767)
@@ -253,5 +253,5 @@
 		$product_id = intval($_REQUEST['edit_id']);
     	
-		$file = ''; if (isset($_REQUEST['file'])) $file = \sanitize_file_name(rawurldecode($_REQUEST['file']));
+		$file = ''; if (isset($_REQUEST['file'])) $file = rawurldecode($_REQUEST['file']);
 		
         if ($_REQUEST['cmd'] === 'upload_file') {
@@ -262,12 +262,12 @@
 
 			echo $this->renderFilesList($product_id);
-	
-			echo "1"; exit;
+
+			exit;
 
         } else if ($_REQUEST['cmd'] === 'delete_file') {
 
             unlink($this->getPDFPath($product_id).'/'.$file);
-            
-            echo "1"; exit;
+
+            echo '1'; exit;
 
         } else if ($_REQUEST['cmd'] === 'download_file') {
@@ -712,5 +712,6 @@
                 if (!file_exists($uploaddir)) mkdir($uploaddir, 0777, true);
 
-                $uploadfile = $uploaddir.basename($_FILES['wpsg_mod_downloadplus_file']['name'][0]);
+                $uploadfile = $uploaddir.\sanitize_file_name(basename($_FILES['wpsg_mod_downloadplus_file']['name'][0]));
+
                 move_uploaded_file($_FILES['wpsg_mod_downloadplus_file']['tmp_name'][0], $uploadfile);
 
Index: /mods/wpsg_mod_fuellmenge.class.php
===================================================================
--- /mods/wpsg_mod_fuellmenge.class.php	(revision 7766)
+++ /mods/wpsg_mod_fuellmenge.class.php	(revision 7767)
@@ -159,6 +159,5 @@
 			if (!wpsg_isSizedInt($product_data['id'])) return null;
 			
-			if (wpsg_isSizedInt($product_data['id']))
-			{
+			if (wpsg_isSizedInt($product_data['id'])) {
 				
 				$product_data = wpsg_array_merge($product_data, $this->db->fetchRow("
@@ -174,21 +173,16 @@
 		
 			$product_data['arFeinheiten'] = explode(',', $this->shop->get_option('wpsg_mod_fuellmenge_einheit'));
-		
-			if ($this->shop->hasMod('wpsg_mod_stock'))
-			{
-				
-				$product_content['stock']['content'] .= $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_fuellmenge/produkt_edit_sidebar.phtml', false);
-				
-			}
-			else 
-			{
-			
-				$product_content['wpsg_mod_fuellmenge'] = array(
-					'title' => __('FÃŒllmenge', 'wpsg'),
-					'content' => $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_fuellmenge/produkt_edit_sidebar.phtml', false)
-				);
-				 
-			}	
-	
+
+            if (!array_key_exists('stock', $product_content)) {
+
+                $this->shop->view['arSubAction']['stock'] = array(
+                    'title' => __('Bestand / Gew. / FÃŒllm.', 'wpsg'),
+                    'content' => ''
+                );
+
+            }
+
+            $product_content['stock']['content'] .= $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_fuellmenge/produkt_edit_sidebar.phtml', false);
+
 		}
 		
Index: /mods/wpsg_mod_minquantity.class.php
===================================================================
--- /mods/wpsg_mod_minquantity.class.php	(revision 7766)
+++ /mods/wpsg_mod_minquantity.class.php	(revision 7767)
@@ -41,9 +41,7 @@
 		} // public function install()
 		
-		public function product_addedit_content(&$product_content, &$product_data)
-		{
-
-			if (wpsg_isSizedInt($product_data['id']))
-			{
+		public function product_addedit_content(&$product_content, &$product_data) {
+
+			if (wpsg_isSizedInt($product_data['id'])) {
 					
 				$product_data = wpsg_array_merge($product_data, $this->db->fetchRow("
@@ -62,5 +60,14 @@
 			
 			#$product_content['general']['content'] .= $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_minquantity/produkt_addedit_allgemein.phtml', false);
-			
+
+            if (!array_key_exists('stock', $product_content)) {
+
+                $this->shop->view['arSubAction']['stock'] = array(
+                    'title' => __('Bestand / Gew. / FÃŒllm.', 'wpsg'),
+                    'content' => ''
+                );
+
+            }
+
 			$this->shop->view['arSubAction']['stock']['content'] .= $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_minquantity/produkt_addedit_allgemein.phtml', false);
 			
Index: /mods/wpsg_mod_produktartikel.class.php
===================================================================
--- /mods/wpsg_mod_produktartikel.class.php	(revision 7766)
+++ /mods/wpsg_mod_produktartikel.class.php	(revision 7767)
@@ -28,8 +28,7 @@
         } // public function __construct()
     
-        public function init()
-        {
-    
-            add_action('init', array($this, 'create_wpsg_post_types'));
+        public function init() {
+
+            $this->create_wpsg_post_types();
     
         } // public function init()
@@ -700,9 +699,8 @@
         } // public function produkt_save($produkt_id)
     
-        public function create_wpsg_post_types()
-        {
+        public function create_wpsg_post_types() {
     
             $show_ui = false;
-    
+
             if ($this->shop->get_option('wpsg_mod_produktartikel_showui') == '1') $show_ui = true;
     
Index: /mods/wpsg_mod_stock.class.php
===================================================================
--- /mods/wpsg_mod_stock.class.php	(revision 7766)
+++ /mods/wpsg_mod_stock.class.php	(revision 7767)
@@ -162,7 +162,7 @@
 			
 		}
-		
-		public function produkt_edit_sidebar(&$produkt_data)
-		{
+
+		/*
+		public function produkt_edit_sidebar(&$produkt_data) {
 
 			if (isset($_REQUEST['wpsg_lang'])) return;
@@ -170,5 +170,5 @@
 			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_stock/produkt_edit_sidebar.phtml');
 
-		} // public function produkt_edit_sidebar(&$produkt_data)
+		} */
 
 		public function setOrderStatus($order_id, $status_id, $inform)
@@ -414,11 +414,11 @@
 		} // public function checkCheckout(&$state, &$error, &$arCheckout)
 
-		public function product_addedit_content(&$product_content, &$product_data)
-		{
+		public function product_addedit_content(&$product_content, &$product_data) {
 
 			if (isset($_REQUEST['wpsg_lang'])) return;
 
-			if (!array_key_exists('stock', $product_content))
-			{
+            $this->shop->view['data'] = $product_data;
+
+			if (!array_key_exists('stock', $product_content)) {
 
 				$this->shop->view['arSubAction']['stock'] = array(
@@ -429,5 +429,4 @@
 			}
 
-			$this->shop->view['data'] = $product_data;
 			$this->shop->view['arSubAction']['stock']['content'] .= $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_stock/product_addedit_content.phtml', false);
 
Index: /mods/wpsg_mod_weight.class.php
===================================================================
--- /mods/wpsg_mod_weight.class.php	(revision 7766)
+++ /mods/wpsg_mod_weight.class.php	(revision 7767)
@@ -148,21 +148,20 @@
 		} // public function overview_row_end(&$overview_view)
 
-		public function product_addedit_content(&$product_content, &$product_data)
-		{
+		public function product_addedit_content(&$product_content, &$product_data) {
 
 			if (isset($_REQUEST['wpsg_lang'])) return;
 
-			if (!array_key_exists('stock', $product_content))
-			{
-
-				$this->shop->view['arSubAction']['stock'] = array(
-					'title' => __('Produktgewicht', 'wpsg'),
-					'content' => ''
-				);
-
-			}
-
-			$this->shop->view['wpsg_mod_weight']['weight'] = wpsg_getFloat($product_data['weight']);
-			$this->shop->view['arSubAction']['stock']['content'] .= $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_weight/product_addedit_content.phtml', false);
+            $this->shop->view['wpsg_mod_weight']['weight'] = wpsg_getFloat($product_data['weight']);
+
+            if (!array_key_exists('stock', $product_content)) {
+
+                $this->shop->view['arSubAction']['stock'] = array(
+                    'title' => __('Bestand / Gew. / FÃŒllm.', 'wpsg'),
+                    'content' => ''
+                );
+
+            }
+
+            $product_content['stock']['content'] = $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_weight/product_addedit_content.phtml', false);
 
 		} // public function produkt_edit_allgemein(&$produkt_data)
@@ -293,3 +292,2 @@
 	} // class wpsg_mod_weight extends wpsg_mod_basic
 
-?>
Index: /views/order/view_dev.phtml
===================================================================
--- /views/order/view_dev.phtml	(revision 7766)
+++ /views/order/view_dev.phtml	(revision 7767)
@@ -31,2 +31,14 @@
 
 <?php echo wpsg_drawForm_AdminboxEnd(); ?>
+
+<?php echo wpsg_drawForm_AdminboxStart(__('Technische Einstellungen', 'wÃŒsg')); ?>
+<form method="POST" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=save&edit_id=<?php echo $this->view['oOrder']->id; ?>&noheader=1" enctype="multipart/form-data">
+
+    <?php echo wpsg_drawForm_Checkbox('ext_payed', __('Externe ZahlungseingÃ€nge ignorieren', 'wpsg'), wpsg_getStr($this->view['data']['ext_payed'])); ?>
+
+    <?php echo wpsg_drawForm_TextStart(); ?>
+    <input type="submit" class="button button-primary" value="<?php echo __('Einstellungen speichern', 'wpsg'); ?>" />
+    <?php echo wpsg_drawForm_TextEnd(); ?>
+
+</form>
+<?php echo wpsg_drawForm_AdminboxEnd(); ?>
Index: /views/order/view_general.phtml
===================================================================
--- /views/order/view_general.phtml	(revision 7766)
+++ /views/order/view_general.phtml	(revision 7767)
@@ -70,16 +70,4 @@
 <?php echo wpsg_drawForm_AdminboxEnd(); ?>
 
-<?php echo wpsg_drawForm_AdminboxStart(__('Technische Einstellungen', 'wÃŒsg')); ?>
-<form method="POST" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=save&edit_id=<?php echo $this->view['oOrder']->id; ?>&noheader=1" enctype="multipart/form-data">
-
-    <?php echo wpsg_drawForm_Checkbox('ext_payed', __('Externe ZahlungseingÃ€nge ignorieren', 'wpsg'), wpsg_getStr($this->view['data']['ext_payed'])); ?>
-
-    <?php echo wpsg_drawForm_TextStart(); ?>
-    <input type="submit" class="button button-primary" value="<?php echo __('Einstellungen speichern', 'wpsg'); ?>" />
-    <?php echo wpsg_drawForm_TextEnd(); ?>
-
-</form>
-<?php echo wpsg_drawForm_AdminboxEnd(); ?>
-
 <?php if ($this->hasMod('wpsg_mod_orderupload')) { ?>
 	<?php echo wpsg_drawForm_AdminboxStart(__('Bestelluploads', 'wpsg')); ?>
