Index: /lib/filter_functions.inc.php
===================================================================
--- /lib/filter_functions.inc.php	(revision 7563)
+++ /lib/filter_functions.inc.php	(revision 7564)
@@ -518,5 +518,5 @@
 			if (wpsg_isSizedArray($_SESSION['sanitization_err_fields'])) {
 				
-				//ob_start(); wpsg_debug($_SESSION['sanitization_err_fields']); $content .= '<div style="position:fixed; background-color:lightgrey; z-index:10000; left:50%; top:50%; width:500px; height:500px; overflow:scroll; margin-left:-250px; margin-top:-250px;">'.ob_get_contents().'</div>'; ob_end_clean();
+				ob_start(); wpsg_debug($_SESSION['sanitization_err_fields']); $content .= '<div style="position:fixed; background-color:lightgrey; z-index:10000; left:50%; top:50%; width:500px; height:500px; overflow:scroll; margin-left:-250px; margin-top:-250px;">'.ob_get_contents().'</div>'; ob_end_clean();
 				
 	        	foreach($_SESSION['sanitization_err_fields'] as $field_name => $nCalls) {
Index: /mods/wpsg_mod_downloadplus.class.php
===================================================================
--- /mods/wpsg_mod_downloadplus.class.php	(revision 7563)
+++ /mods/wpsg_mod_downloadplus.class.php	(revision 7564)
@@ -136,8 +136,52 @@
     } // public function admin_emailconf_save()
 
-    public function settings_save()
-    {
-
-        $this->shop->update_option('wpsg_mod_downloadplus_text', $_REQUEST['text'], false, false, "wpsg_txt_tbl");
+    public function settings_save() {
+    	
+    	$arText = [];
+    	
+    	$arTextBefore = $this->shop->get_option('wpsg_mod_downloadplus_text');
+    	if (!is_array($arTextBefore)) $arTextBefore = [];
+    	
+    	foreach ($_REQUEST['text'] as $k => $v) {
+    	
+    		if (
+    			wpsg_checkInput($v['x'],WPSG_SANITIZE_INT, ['allowEmpty' => true]) &&
+				wpsg_checkInput($v['y'],WPSG_SANITIZE_INT, ['allowEmpty' => true]) &&
+				wpsg_checkInput($v['align'],WPSG_SANITIZE_CHECKBOX, ['allowEmpty' => true]) &&
+				wpsg_checkInput($v['bg'],WPSG_SANITIZE_CHECKBOX, ['allowEmpty' => true]) &&
+				wpsg_checkInput($v['color'],WPSG_SANITIZE_TEXTFIELD, ['allowEmpty' => true]) && 
+				wpsg_checkInput($v['alpha'],WPSG_SANITIZE_FLOAT, ['allowEmpty' => true]) && 
+				wpsg_checkInput($v['angle'],WPSG_SANITIZE_FLOAT, ['allowEmpty' => true]) &&
+				wpsg_checkInput($v['fontsize'],WPSG_SANITIZE_INT, ['allowEmpty' => true]) &&
+				wpsg_checkInput($v['aktiv'],WPSG_SANITIZE_CHECKBOX, ['allowEmpty' => true]) && 
+				wpsg_checkInput($v['text'],WPSG_SANITIZE_TEXTFIELD, ['allowEmpty' => true]) &&
+				wpsg_checkInput($v['font'],WPSG_SANITIZE_TEXTFIELD, ['allowEmpty' => true]) 
+			) {
+    			
+    			$arText[$k] = [
+    				'x' => wpsg_getInt($v['x']),
+					'y' => wpsg_getInt($v['y']),
+					'align' => wpsg_getInt($v['align']),
+					'bg' => wpsg_getInt($v['bg']),
+					'color' => wpsg_getStr($v['color']),
+					'alpha' => wpsg_getStr($v['alpha']),
+					'angle' => wpsg_getStr($v['angle']),
+					'fontsize' => wpsg_getInt($v['fontsize']),
+					'aktiv' => wpsg_getInt($v['aktiv']),
+					'text' => wpsg_getStr($v['text']),
+					'font' => wpsg_getStr($v['text'])
+				];
+    			
+			} else {
+    			
+    			$arText[$k] = wpsg_getArray($arTextBefore[$k]);
+    			
+    			$this->shop->addBackendError(wpsg_translate(__('Bitte Eingaben in den Texten bei Zeile #1# prÃŒfen.', 'wpsg'), $k + 1));
+    			
+			}
+    		
+		}
+		
+        $this->shop->update_option('wpsg_mod_downloadplus_text', $arText, false, false, WPSG_SANITIZE_NONE);
         $this->shop->update_option('wpsg_mod_downloadplus_filename', $_REQUEST['wpsg_mod_downloadplus_filename'], false, false, WPSG_SANITIZE_TEXTFIELD);
         $this->shop->update_option('wpsg_mod_downloadplus_indiv_mode', $_REQUEST['wpsg_mod_downloadplus_indiv_mode'], false, false, WPSG_SANITIZE_VALUES, ['0', '1', '2']);
