Index: ds/wpsg_mod_bankalignment.class.php
===================================================================
--- /mods/wpsg_mod_bankalignment.class.php	(revision 5690)
+++ 	(revision )
@@ -1,230 +1,0 @@
-<?php
-
-	/**
-	 * Bankabgleichsmodul
-	 * ErmÃ¶glicht den Kontoabgleich ÃŒber exportierte CSV Dateien
-	 * @author Daschmi
-	 */
-	class wpsg_mod_bankalignment extends wpsg_mod_basic
-	{
-		
-		var $lizenz = 2;
-		var $id = 1610;
-		
-		/**
-		 * Costructor
-		 */
-		public function __construct()
-		{
-				
-			parent::__construct();
-				
-			$this->name = __('Bankabgleich', 'wpsg');
-			$this->group = __('Bestellung', 'wpsg');
-			$this->desc = __('ErmÃ¶glicht den Kontoabgleich ÃŒber exportierte CSV Dateien.', 'wpsg');
-		
-		} // public function __construct()
-		
-		public function produkt_index_head() 
-		{ 
-
-			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_bankalignment/produkt_index_head.phtml');
-			
-		} // public function produkt_index_head()
-		
-		public function produkt_index_aftersearch() 
-		{ 
-			
-			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_bankalignment/produkt_index_aftersearch.phtml');
-			
-		} // public function produkt_index_aftersearch()
-		
-		public function install()
-		{
-			
-			$this->shop->checkDefault('wpsg_mod_bankalignment_separator', ';');
-			
-		} // public function install()
-		
-		public function settings_edit()
-		{
-			
-			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_bankalignment/settings_edit.phtml');
-			
-		} // public function settings_edit()
-		
-		public function settings_save()
-		{
-			
-			$this->shop->update_option('wpsg_mod_bankalignment_separator', $_REQUEST['wpsg_mod_bankalignment_separator']);
-			
-		} // public function settings_save()
-		
-		public function order_ajax() 
-		{ 
-			
-			if ($_REQUEST['mod'] != 'wpsg_mod_bankalignment') return;			
-
-			if (isset($_REQUEST['wpsg_mod_bankalignment_submit']))
-			{
-				
-				$nSet = 0;
-				
-				foreach ($_REQUEST['set'] as $order_id)
-				{
-					
-					if ($order_id > 0)
-					{
-						
-						$order = $this->shop->cache->loadOrder($order_id);
-						
-						if ($order['status'] == 0)
-						{
-						
-							$this->shop->setOrderStatus($order_id, 100, true);
-							$nSet ++;
-							
-						}
-						
-					}
-					
-				}
-								
-				$this->shop->addBackendMessage(wpsg_translate(__('Es wurden #1# Bestellungen auf "#2#" gesetzt.', 'wpsg'), $nSet, $this->shop->arStatus[100]));
-				$this->shop->redirect(WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Order');
-				
-			}
-			
-			if (!file_exists($_FILES['wpsg_mod_bankalignment_file']['tmp_name']))
-			{
-				
-				$this->shop->addBackendError(__('Bitte geben sie eine Datei an!', 'wpsg'));
-				die('<script type="text/javascript">/* <![CDATA[ */ location.href="'.WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Order"; /* ]]> */</script>');				
-				
-			}
-			else if (file_exists($_FILES['wpsg_mod_bankalignment_file']['tmp_name']))
-			{
-			
-				// Alle Bestellungen die noch "Bestellung eingegangen"
-				$arOrder = $this->db->fetchAssoc("
-					SELECT 
-						O.`id` AS o_id, O.`onr` AS onr,
-						CONCAT(K.`vname`, ' ', K.`name`, ', ', REPLACE(FORMAT(O.`price_gesamt`, 2), '.', ','), ' ".$this->shop->get_option('wpsg_currency')."') AS okey
-					FROM 
-						`".WPSG_TBL_ORDER."` AS O
-							LEFT JOIN `".WPSG_TBL_KU."` AS K ON (K.`id` = O.`k_id`) 
-					WHERE 
-						O.`status` = '0'		
-				");
-
-				if (sizeof($arOrder) <= 0) 
-				{
-					
-					$this->shop->addBackendError(__('Keine Bestellungen vorhanden, die noch nicht bezahlt sind!', 'wpsg'));
-					die('<script type="text/javascript">/* <![CDATA[ */ location.href="'.WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Order"; /* ]]> */</script>');
-										
-				}
-				
-				foreach ($arOrder as $k => $v)
-				{
-					
-					if ($this->shop->hasMod('wpsg_mod_prepayment'))
-					{
-							
-						$arOrder[$k]['wpsg_mod_prepayment'] = $this->shop->callMod('wpsg_mod_prepayment', 'get_subject', array($v['o_id']));								
-
-					} 
-					
-				}
-				
-				$_SESSION['wpsg']['wpsg_mod_prepayment']['set'] = array();
-				
-				$h = fopen($_FILES['wpsg_mod_bankalignment_file']['tmp_name'], "r");
-				 
-				$row = 0;
-				while (($data = fgetcsv($h, 1000, $this->shop->get_option('wpsg_mod_bankalignment_separator'))) !== FALSE) 
-				{
-									 	
-					if ($row === 0)
-					{
-						
-						$this->shop->view['colInfo'] = $data;
-						
-					}
-					else
-					{
-						
-						$set = array();
-						$set['data'] = $data;
-						$set['order_id'] = false;
-						$set['onr'] = false;
-						$set['okey'] = false;
-						
-						foreach ($arOrder as $k => $v)
-						{
-							
-							// Betreff aus dem Vorkassemodul
-							if ($this->shop->hasMod('wpsg_mod_prepayment') && $this->in_array($v['wpsg_mod_prepayment'], $data))
-							{
-								
-								$set['order_id'] = $v['o_id']; 
-								$set['onr'] = $v['onr'];
-								$set['okey'] = $v['key'];
-								break;
-								
-							}
- 
-							
-						}
-						
-						$_SESSION['wpsg']['wpsg_mod_prepayment']['set'][] = $set;
-												
-					}
-									
-					$row ++;
-					
-				}
-				 				
-				fclose($h);
-				
-				$this->shop->view['set'] = $_SESSION['wpsg']['wpsg_mod_prepayment']['set'];
-				$this->shop->view['arOrder'] = $arOrder;
-				
-				$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_bankalignment/order_ajax.phtml');
-							
-			} 
-			 
-		} // public function order_ajax()
-
-		public function product_index_tab(&$arTabs)
-		{
-
-			$arTabs['left'][$this->id] = array(
-				'tab_title' => __('Bankabgleich', 'wpsg'),
-				'tab_icon' => 'glyphicon glyphicon-usd',
-				'tab_content' => $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_bankalignment/product_index_tab.phtml', false)
-			);
-
-		} // public function product_index_tab(&$arTabs)
-		
-		/**
-		 * Hilfsfunktion die wie in_array prÃŒft ob $betreff in $data ist
-		 * PrÃŒft aber nicht ganz so restriktiv
-		 */
-		private function in_array($betreff, $data)
-		{
-			
-			foreach ((array)$data as $k => $v)
-			{
-				
-				if (preg_match('/(.*)'.$v.'(.*)/i', $betreff)) return true; 
-				
-			}
-			
-			return false;
-			
-		} // private function in_array($betreff, $data)
-		
-	} // class wpsg_mod_bankalignment extends wpsg_mod_basic
-
-?>
Index: ds/wpsg_mod_orderupload.class.php
===================================================================
--- /mods/wpsg_mod_orderupload.class.php	(revision 5690)
+++ 	(revision )
@@ -1,284 +1,0 @@
-<?php
-
-	/**
-	 * Modul um wÃ€hrend der Bestellung eine oder mehrere Dateien hochzuladen
-	 */
-	class wpsg_mod_orderupload extends wpsg_mod_basic 
-	{
-		
-		var $id = 1600;		
-		var $lizenz = 2;
-		var $version = '3.1.0';
-		
-		/**
-		 * Costructor
-		 */
-		public function __construct()
-		{
-			
-			parent::__construct();
-			
-			$this->name = __('Bestellupload', 'wpsg');
-			$this->group = __('Bestellung', 'wpsg');
-			$this->desc = __('Erlaubt das hochladen von Dateien zu Bestellungen.', 'wpsg');
-						
-		} // public function __construct()
-		
-		public function install()
-		{
-			
-			$this->shop->checkDefault('wpsg_mod_orderupload_filename', '%order_onr%_%filename%');
-			$this->shop->checkDefault('wpsg_mod_orderupload_allowedext', 'jpg,jpeg');
-			$this->shop->checkDefault('wpsg_mod_orderupload_multifiles', '0');
-			$this->shop->checkDefault('wpsg_mod_orderupload_optional', '0');
-			
-		} // public function install()
-		
-		public function settings_edit()
-		{
-			
-			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_orderupload/settings_edit.phtml');
-			
-		} // public function settings_edit()
-		
-		public function settings_save()
-		{
-			
-			$this->shop->update_option('wpsg_mod_orderupload_filename', $_REQUEST['wpsg_mod_orderupload_filename']);
-			$this->shop->update_option('wpsg_mod_orderupload_allowedext', $_REQUEST['wpsg_mod_orderupload_allowedext']);
-			$this->shop->update_option('wpsg_mod_orderupload_multifiles', $_REQUEST['wpsg_mod_orderupload_multifiles']);
-			$this->shop->update_option('wpsg_mod_orderupload_optional', $_REQUEST['wpsg_mod_orderupload_optional']);
-			
-		} // public function settings_save()
-				
-		public function checkout_inner_prebutton(&$checkout_view) { 
-			
-			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_orderupload/checkout_inner_prebutton.phtml');
-			
-		} // public function checkout_inner_prebutton(&$checkout_view)
-		
-		public function checkCheckout(&$state, &$error, &$arCheckout)  
-		{
-			
-			if ($state == '1')
-			{
-				
-				if (
-					$this->shop->get_option('wpsg_mod_orderupload_optional') != '1' && 
-					sizeof($_SESSION['wpsg']['wpsg_mod_orderupload']) <= 0 &&
-					(!isset($_FILES['wpsg_mod_orderupload_file']) || !file_exists($_FILES['wpsg_mod_orderupload_file']['tmp_name']))
-					)
-				{
-					
-					// Noch keine Datei hochgeladen und es ist Pflicht !										
-					$this->shop->addFrontendError(__('Bitte eine Datei zum Upload wÃ€hlen.', 'wpsg'));
-					$error = true; return;
-					
-				}
-				
-				if (isset($_FILES['wpsg_mod_orderupload_file']) && file_exists($_FILES['wpsg_mod_orderupload_file']['tmp_name']))
-				{
-					
-					$ending = strtolower(preg_replace('/(.*)\./', '', $_FILES['wpsg_mod_orderupload_file']['name']));
-					
-					if (!in_array($ending, (array)explode(',', strtolower($this->shop->get_option('wpsg_mod_orderupload_allowedext')))))
-					{
-						
-						$this->shop->addFrontendError(__('Bitte eine gÃŒltige Dateiendung verwenden.', 'wpsg'));
-						$error = true; return;
-						
-					}
-					else
-					{
-						
-						// Upload durchfÃŒhren
-						$tmp = time().'-'.rand(1, 10000).'.'.$ending;
-						
-						move_uploaded_file($_FILES['wpsg_mod_orderupload_file']['tmp_name'], $this->getTmpFilePath().'/'.$tmp); 
-						
-						if (!is_array($_SESSION['wpsg']['wpsg_mod_orderupload'])) $_SESSION['wpsg']['wpsg_mod_orderupload'] = array();
-						else if (wpsg_isSizedArray($_SESSION['wpsg']['wpsg_mod_orderupload']) && $this->shop->get_option('wpsg_mod_orderupload_multifiles') != '1')
-						{
-							
-							// Cache sauber haltens
-							foreach ($_SESSION['wpsg']['wpsg_mod_orderupload'] as $ou)
-							{
-																
-								unlink($ou[3]);
-								
-							}
-							
-							$_SESSION['wpsg']['wpsg_mod_orderupload'] = array();
-						 							
-						}
-						
-						$_SESSION['wpsg']['wpsg_mod_orderupload'][] = wpsg_xss(array(
-							$_FILES['wpsg_mod_orderupload_file']['name'],
-							$tmp,
-							$this->getTmpFilePath(true).'/'.$tmp,
-							$this->getTmpFilePath().'/'.$tmp			
-						));
-						
-						$this->shop->addFrontendMessage(__('Datei wurde erfolgreich hochgeladen.', 'wpsg'));
-						
-						if ($this->shop->get_option('wpsg_mod_orderupload_multifiles') == '1')
-						{
-							
-							$error = true;
-							
-						}
-						
-					}
-					
-				}
-				
-			}
-			
-		} // public function checkCheckout(&$state, &$error, &$arCheckout)
-		
-		public function wp_loaded() 
-		{ 
-			
-			if ($_REQUEST['wpsg_plugin'] == 'wpsg_mod_orderupload' && $_REQUEST['wpsg_action'] == 'remove')
-			{
-				
-				unlink($_SESSION['wpsg']['wpsg_mod_orderupload'][$_REQUEST['file_index']][3]);
-				unset($_SESSION['wpsg']['wpsg_mod_orderupload'][$_REQUEST['file_index']]);
-				
-				$this->shop->addFrontendMessage(__('Dokument wurde aus der Bestellung entfernt.', 'wpsg'));
-				
-				$this->shop->redirect($this->shop->getURL(wpsg_ShopController::URL_CHECKOUT));
-				
-			}
-			
-		} // public function wp_loaded()
-
-		public function order_ajax() 
-		{ 
-			
-			if (isset($_REQUEST['wpsg_mod_orderupload_download']))
-			{
-				
-				header('Content-Disposition: attachment; filename="'.rawurldecode($_REQUEST['wpsg_mod_orderupload_download']).'"');
-				header('Content-type: application/download');
-				header('Content-Disposition: inline; filename="'.rawurldecode($_REQUEST['wpsg_mod_orderupload_download']).'"');
-				header('Expires: 0');
-				header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
-				header('Pragma: public');
-				
-				die(file_get_contents($this->getSavePath($_REQUEST['edit_id']).'/'.rawurldecode($_REQUEST['wpsg_mod_orderupload_download'])));
-				
-			}
-			
-		} // public function order_ajax() 
-		
-		public function basket_save_done(&$o_id, &$k_id, &$oBasket)
-		{
-			
-			if (wpsg_isSizedArray($_SESSION['wpsg']['wpsg_mod_orderupload']))
-			{
-				
-				foreach ($_SESSION['wpsg']['wpsg_mod_orderupload'] as $k => $ou)
-				{
-					 
-					$path_target = $this->getSavePath($o_id);
-					
-					copy(
-						$ou[3], 
-						$path_target.'/'.$this->getNewName($ou[0], $o_id)
-					);
-					
-					// TemporÃ€ren Ordner sÃ€ubern
-					unlink($ou[3]);
-					
-					unset($_SESSION['wpsg']['wpsg_mod_orderupload'][$k]);
-					
-				}
-				
-			}
-			
-		} // public function basket_save_done($o_id, $k_id)
-		
-		public function order_view_sidebar(&$order_id) 
-		{ 
-	 
-			$arFiles = scandir($this->getSavePath($order_id));
-			 
-			foreach ($arFiles as $k => $v) { if (in_array($v['id'], array('.', '..', '.htaccess', '.htpasswd'))) { unset($arFiles[$k]); } }
-			
-			if (sizeof($arFiles) <= 0) return;
-			
-			$this->shop->view['arFiles'] = $arFiles;			
-			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_orderupload/order_view_sidebar.phtml');
-			
-		} // public function order_view_sidebar(&$order_id)
-		
-		public function delOrder(&$order_id) 
-		{ 
-			 
-			// Hochgeladene Dateien lÃ¶schen
-			$path = $this->getSavePath($order_id);
-			
-			wpsg_rrmdir($path);
-			
-		} // public function delOrder(&$order_id)
-		
-		/* -- */
-		
-		public function getNewName($filename, $order_id)
-		{
-			
-			$arReplace = array(
-				'/%filename%/' => $filename,
-				'/%filename_clear%/' => preg_replace('/\.(.*)$/', '', $filename) 
-			);
-			
-			$filename = preg_replace(array_keys($arReplace), array_values($arReplace), $this->shop->get_option('wpsg_mod_orderupload_filename'));
-			
-			$filename = $this->shop->replaceUniversalPlatzhalter($filename, $order_id);
-			
-			return $filename;
-			
-		} // public function getNewName($filename, $order_id)
-		
-		public function getSavePath($order_id, $burl = false)
- 		{
- 		 
- 			if ($this->shop->isMultiBlog())
-			{
-
-				$url = WPSG_URL_CONTENT.WPSG_MB_UPLOADS.'/wpsg/wpsg_orderupload/'.$order_id.'/';
-				$path = WP_CONTENT_DIR.'/'.WPSG_MB_UPLOADS.'/wpsg/wpsg_orderupload/'.$order_id.'/'; 
-				$htaccess = WP_CONTENT_DIR.'/'.WPSG_MB_UPLOADS.'/wpsg/wpsg_orderupload/.htaccess';
-				 
-			}
-			else
-			{
-				
-				$url = WPSG_URL_CONTENT.'uploads/wpsg/wpsg_orderupload/'.$order_id.'/';
-				$path = WP_CONTENT_DIR.'/uploads/wpsg/wpsg_orderupload/'.$order_id.'/';
-				$htaccess = WP_CONTENT_DIR.'/uploads/wpsg/wpsg_orderupload/.htaccess';
-								
-			}
-			 
-			if (!file_exists($path)) mkdir($path, 0777, true);
-			
- 			if (!file_exists($htaccess))
-			{
-				 				
-				$handle = fopen($htaccess, "w+");
-				$content = "Deny from all";			
-				fwrite($handle, $content, strlen($content));
-				fclose($handle);
-				
-			}
-			
-			if ($burl) return $url;
-			else return $path;
-			
- 		} // private function getSavePath($order_id, $url = false)
-				
-	} // class wpsg_mod_orderupload extends wpsg_mod_basic
-
-
-?>
Index: /system/intern/mods/wpsg_mod_bankalignment.class.php
===================================================================
--- /system/intern/mods/wpsg_mod_bankalignment.class.php	(revision 5691)
+++ /system/intern/mods/wpsg_mod_bankalignment.class.php	(revision 5691)
@@ -0,0 +1,230 @@
+<?php
+
+	/**
+	 * Bankabgleichsmodul
+	 * ErmÃ¶glicht den Kontoabgleich ÃŒber exportierte CSV Dateien
+	 * @author Daschmi
+	 */
+	class wpsg_mod_bankalignment extends wpsg_mod_basic
+	{
+		
+		var $lizenz = 2;
+		var $id = 1610;
+		
+		/**
+		 * Costructor
+		 */
+		public function __construct()
+		{
+				
+			parent::__construct();
+				
+			$this->name = __('Bankabgleich', 'wpsg');
+			$this->group = __('Bestellung', 'wpsg');
+			$this->desc = __('ErmÃ¶glicht den Kontoabgleich ÃŒber exportierte CSV Dateien.', 'wpsg');
+		
+		} // public function __construct()
+		
+		public function produkt_index_head() 
+		{ 
+
+			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_bankalignment/produkt_index_head.phtml');
+			
+		} // public function produkt_index_head()
+		
+		public function produkt_index_aftersearch() 
+		{ 
+			
+			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_bankalignment/produkt_index_aftersearch.phtml');
+			
+		} // public function produkt_index_aftersearch()
+		
+		public function install()
+		{
+			
+			$this->shop->checkDefault('wpsg_mod_bankalignment_separator', ';');
+			
+		} // public function install()
+		
+		public function settings_edit()
+		{
+			
+			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_bankalignment/settings_edit.phtml');
+			
+		} // public function settings_edit()
+		
+		public function settings_save()
+		{
+			
+			$this->shop->update_option('wpsg_mod_bankalignment_separator', $_REQUEST['wpsg_mod_bankalignment_separator']);
+			
+		} // public function settings_save()
+		
+		public function order_ajax() 
+		{ 
+			
+			if ($_REQUEST['mod'] != 'wpsg_mod_bankalignment') return;			
+
+			if (isset($_REQUEST['wpsg_mod_bankalignment_submit']))
+			{
+				
+				$nSet = 0;
+				
+				foreach ($_REQUEST['set'] as $order_id)
+				{
+					
+					if ($order_id > 0)
+					{
+						
+						$order = $this->shop->cache->loadOrder($order_id);
+						
+						if ($order['status'] == 0)
+						{
+						
+							$this->shop->setOrderStatus($order_id, 100, true);
+							$nSet ++;
+							
+						}
+						
+					}
+					
+				}
+								
+				$this->shop->addBackendMessage(wpsg_translate(__('Es wurden #1# Bestellungen auf "#2#" gesetzt.', 'wpsg'), $nSet, $this->shop->arStatus[100]));
+				$this->shop->redirect(WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Order');
+				
+			}
+			
+			if (!file_exists($_FILES['wpsg_mod_bankalignment_file']['tmp_name']))
+			{
+				
+				$this->shop->addBackendError(__('Bitte geben sie eine Datei an!', 'wpsg'));
+				die('<script type="text/javascript">/* <![CDATA[ */ location.href="'.WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Order"; /* ]]> */</script>');				
+				
+			}
+			else if (file_exists($_FILES['wpsg_mod_bankalignment_file']['tmp_name']))
+			{
+			
+				// Alle Bestellungen die noch "Bestellung eingegangen"
+				$arOrder = $this->db->fetchAssoc("
+					SELECT 
+						O.`id` AS o_id, O.`onr` AS onr,
+						CONCAT(K.`vname`, ' ', K.`name`, ', ', REPLACE(FORMAT(O.`price_gesamt`, 2), '.', ','), ' ".$this->shop->get_option('wpsg_currency')."') AS okey
+					FROM 
+						`".WPSG_TBL_ORDER."` AS O
+							LEFT JOIN `".WPSG_TBL_KU."` AS K ON (K.`id` = O.`k_id`) 
+					WHERE 
+						O.`status` = '0'		
+				");
+
+				if (sizeof($arOrder) <= 0) 
+				{
+					
+					$this->shop->addBackendError(__('Keine Bestellungen vorhanden, die noch nicht bezahlt sind!', 'wpsg'));
+					die('<script type="text/javascript">/* <![CDATA[ */ location.href="'.WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Order"; /* ]]> */</script>');
+										
+				}
+				
+				foreach ($arOrder as $k => $v)
+				{
+					
+					if ($this->shop->hasMod('wpsg_mod_prepayment'))
+					{
+							
+						$arOrder[$k]['wpsg_mod_prepayment'] = $this->shop->callMod('wpsg_mod_prepayment', 'get_subject', array($v['o_id']));								
+
+					} 
+					
+				}
+				
+				$_SESSION['wpsg']['wpsg_mod_prepayment']['set'] = array();
+				
+				$h = fopen($_FILES['wpsg_mod_bankalignment_file']['tmp_name'], "r");
+				 
+				$row = 0;
+				while (($data = fgetcsv($h, 1000, $this->shop->get_option('wpsg_mod_bankalignment_separator'))) !== FALSE) 
+				{
+									 	
+					if ($row === 0)
+					{
+						
+						$this->shop->view['colInfo'] = $data;
+						
+					}
+					else
+					{
+						
+						$set = array();
+						$set['data'] = $data;
+						$set['order_id'] = false;
+						$set['onr'] = false;
+						$set['okey'] = false;
+						
+						foreach ($arOrder as $k => $v)
+						{
+							
+							// Betreff aus dem Vorkassemodul
+							if ($this->shop->hasMod('wpsg_mod_prepayment') && $this->in_array($v['wpsg_mod_prepayment'], $data))
+							{
+								
+								$set['order_id'] = $v['o_id']; 
+								$set['onr'] = $v['onr'];
+								$set['okey'] = $v['key'];
+								break;
+								
+							}
+ 
+							
+						}
+						
+						$_SESSION['wpsg']['wpsg_mod_prepayment']['set'][] = $set;
+												
+					}
+									
+					$row ++;
+					
+				}
+				 				
+				fclose($h);
+				
+				$this->shop->view['set'] = $_SESSION['wpsg']['wpsg_mod_prepayment']['set'];
+				$this->shop->view['arOrder'] = $arOrder;
+				
+				$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_bankalignment/order_ajax.phtml');
+							
+			} 
+			 
+		} // public function order_ajax()
+
+		public function product_index_tab(&$arTabs)
+		{
+
+			$arTabs['left'][$this->id] = array(
+				'tab_title' => __('Bankabgleich', 'wpsg'),
+				'tab_icon' => 'glyphicon glyphicon-usd',
+				'tab_content' => $this->shop->render(WPSG_PATH_VIEW.'/mods/mod_bankalignment/product_index_tab.phtml', false)
+			);
+
+		} // public function product_index_tab(&$arTabs)
+		
+		/**
+		 * Hilfsfunktion die wie in_array prÃŒft ob $betreff in $data ist
+		 * PrÃŒft aber nicht ganz so restriktiv
+		 */
+		private function in_array($betreff, $data)
+		{
+			
+			foreach ((array)$data as $k => $v)
+			{
+				
+				if (preg_match('/(.*)'.$v.'(.*)/i', $betreff)) return true; 
+				
+			}
+			
+			return false;
+			
+		} // private function in_array($betreff, $data)
+		
+	} // class wpsg_mod_bankalignment extends wpsg_mod_basic
+
+?>
Index: /system/intern/mods/wpsg_mod_orderupload.class.php
===================================================================
--- /system/intern/mods/wpsg_mod_orderupload.class.php	(revision 5691)
+++ /system/intern/mods/wpsg_mod_orderupload.class.php	(revision 5691)
@@ -0,0 +1,284 @@
+<?php
+
+	/**
+	 * Modul um wÃ€hrend der Bestellung eine oder mehrere Dateien hochzuladen
+	 */
+	class wpsg_mod_orderupload extends wpsg_mod_basic 
+	{
+		
+		var $id = 1600;		
+		var $lizenz = 2;
+		var $version = '3.1.0';
+		
+		/**
+		 * Costructor
+		 */
+		public function __construct()
+		{
+			
+			parent::__construct();
+			
+			$this->name = __('Bestellupload', 'wpsg');
+			$this->group = __('Bestellung', 'wpsg');
+			$this->desc = __('Erlaubt das hochladen von Dateien zu Bestellungen.', 'wpsg');
+						
+		} // public function __construct()
+		
+		public function install()
+		{
+			
+			$this->shop->checkDefault('wpsg_mod_orderupload_filename', '%order_onr%_%filename%');
+			$this->shop->checkDefault('wpsg_mod_orderupload_allowedext', 'jpg,jpeg');
+			$this->shop->checkDefault('wpsg_mod_orderupload_multifiles', '0');
+			$this->shop->checkDefault('wpsg_mod_orderupload_optional', '0');
+			
+		} // public function install()
+		
+		public function settings_edit()
+		{
+			
+			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_orderupload/settings_edit.phtml');
+			
+		} // public function settings_edit()
+		
+		public function settings_save()
+		{
+			
+			$this->shop->update_option('wpsg_mod_orderupload_filename', $_REQUEST['wpsg_mod_orderupload_filename']);
+			$this->shop->update_option('wpsg_mod_orderupload_allowedext', $_REQUEST['wpsg_mod_orderupload_allowedext']);
+			$this->shop->update_option('wpsg_mod_orderupload_multifiles', $_REQUEST['wpsg_mod_orderupload_multifiles']);
+			$this->shop->update_option('wpsg_mod_orderupload_optional', $_REQUEST['wpsg_mod_orderupload_optional']);
+			
+		} // public function settings_save()
+				
+		public function checkout_inner_prebutton(&$checkout_view) { 
+			
+			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_orderupload/checkout_inner_prebutton.phtml');
+			
+		} // public function checkout_inner_prebutton(&$checkout_view)
+		
+		public function checkCheckout(&$state, &$error, &$arCheckout)  
+		{
+			
+			if ($state == '1')
+			{
+				
+				if (
+					$this->shop->get_option('wpsg_mod_orderupload_optional') != '1' && 
+					sizeof($_SESSION['wpsg']['wpsg_mod_orderupload']) <= 0 &&
+					(!isset($_FILES['wpsg_mod_orderupload_file']) || !file_exists($_FILES['wpsg_mod_orderupload_file']['tmp_name']))
+					)
+				{
+					
+					// Noch keine Datei hochgeladen und es ist Pflicht !										
+					$this->shop->addFrontendError(__('Bitte eine Datei zum Upload wÃ€hlen.', 'wpsg'));
+					$error = true; return;
+					
+				}
+				
+				if (isset($_FILES['wpsg_mod_orderupload_file']) && file_exists($_FILES['wpsg_mod_orderupload_file']['tmp_name']))
+				{
+					
+					$ending = strtolower(preg_replace('/(.*)\./', '', $_FILES['wpsg_mod_orderupload_file']['name']));
+					
+					if (!in_array($ending, (array)explode(',', strtolower($this->shop->get_option('wpsg_mod_orderupload_allowedext')))))
+					{
+						
+						$this->shop->addFrontendError(__('Bitte eine gÃŒltige Dateiendung verwenden.', 'wpsg'));
+						$error = true; return;
+						
+					}
+					else
+					{
+						
+						// Upload durchfÃŒhren
+						$tmp = time().'-'.rand(1, 10000).'.'.$ending;
+						
+						move_uploaded_file($_FILES['wpsg_mod_orderupload_file']['tmp_name'], $this->getTmpFilePath().'/'.$tmp); 
+						
+						if (!is_array($_SESSION['wpsg']['wpsg_mod_orderupload'])) $_SESSION['wpsg']['wpsg_mod_orderupload'] = array();
+						else if (wpsg_isSizedArray($_SESSION['wpsg']['wpsg_mod_orderupload']) && $this->shop->get_option('wpsg_mod_orderupload_multifiles') != '1')
+						{
+							
+							// Cache sauber haltens
+							foreach ($_SESSION['wpsg']['wpsg_mod_orderupload'] as $ou)
+							{
+																
+								unlink($ou[3]);
+								
+							}
+							
+							$_SESSION['wpsg']['wpsg_mod_orderupload'] = array();
+						 							
+						}
+						
+						$_SESSION['wpsg']['wpsg_mod_orderupload'][] = wpsg_xss(array(
+							$_FILES['wpsg_mod_orderupload_file']['name'],
+							$tmp,
+							$this->getTmpFilePath(true).'/'.$tmp,
+							$this->getTmpFilePath().'/'.$tmp			
+						));
+						
+						$this->shop->addFrontendMessage(__('Datei wurde erfolgreich hochgeladen.', 'wpsg'));
+						
+						if ($this->shop->get_option('wpsg_mod_orderupload_multifiles') == '1')
+						{
+							
+							$error = true;
+							
+						}
+						
+					}
+					
+				}
+				
+			}
+			
+		} // public function checkCheckout(&$state, &$error, &$arCheckout)
+		
+		public function wp_loaded() 
+		{ 
+			
+			if ($_REQUEST['wpsg_plugin'] == 'wpsg_mod_orderupload' && $_REQUEST['wpsg_action'] == 'remove')
+			{
+				
+				unlink($_SESSION['wpsg']['wpsg_mod_orderupload'][$_REQUEST['file_index']][3]);
+				unset($_SESSION['wpsg']['wpsg_mod_orderupload'][$_REQUEST['file_index']]);
+				
+				$this->shop->addFrontendMessage(__('Dokument wurde aus der Bestellung entfernt.', 'wpsg'));
+				
+				$this->shop->redirect($this->shop->getURL(wpsg_ShopController::URL_CHECKOUT));
+				
+			}
+			
+		} // public function wp_loaded()
+
+		public function order_ajax() 
+		{ 
+			
+			if (isset($_REQUEST['wpsg_mod_orderupload_download']))
+			{
+				
+				header('Content-Disposition: attachment; filename="'.rawurldecode($_REQUEST['wpsg_mod_orderupload_download']).'"');
+				header('Content-type: application/download');
+				header('Content-Disposition: inline; filename="'.rawurldecode($_REQUEST['wpsg_mod_orderupload_download']).'"');
+				header('Expires: 0');
+				header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
+				header('Pragma: public');
+				
+				die(file_get_contents($this->getSavePath($_REQUEST['edit_id']).'/'.rawurldecode($_REQUEST['wpsg_mod_orderupload_download'])));
+				
+			}
+			
+		} // public function order_ajax() 
+		
+		public function basket_save_done(&$o_id, &$k_id, &$oBasket)
+		{
+			
+			if (wpsg_isSizedArray($_SESSION['wpsg']['wpsg_mod_orderupload']))
+			{
+				
+				foreach ($_SESSION['wpsg']['wpsg_mod_orderupload'] as $k => $ou)
+				{
+					 
+					$path_target = $this->getSavePath($o_id);
+					
+					copy(
+						$ou[3], 
+						$path_target.'/'.$this->getNewName($ou[0], $o_id)
+					);
+					
+					// TemporÃ€ren Ordner sÃ€ubern
+					unlink($ou[3]);
+					
+					unset($_SESSION['wpsg']['wpsg_mod_orderupload'][$k]);
+					
+				}
+				
+			}
+			
+		} // public function basket_save_done($o_id, $k_id)
+		
+		public function order_view_sidebar(&$order_id) 
+		{ 
+	 
+			$arFiles = scandir($this->getSavePath($order_id));
+			 
+			foreach ($arFiles as $k => $v) { if (in_array($v['id'], array('.', '..', '.htaccess', '.htpasswd'))) { unset($arFiles[$k]); } }
+			
+			if (sizeof($arFiles) <= 0) return;
+			
+			$this->shop->view['arFiles'] = $arFiles;			
+			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_orderupload/order_view_sidebar.phtml');
+			
+		} // public function order_view_sidebar(&$order_id)
+		
+		public function delOrder(&$order_id) 
+		{ 
+			 
+			// Hochgeladene Dateien lÃ¶schen
+			$path = $this->getSavePath($order_id);
+			
+			wpsg_rrmdir($path);
+			
+		} // public function delOrder(&$order_id)
+		
+		/* -- */
+		
+		public function getNewName($filename, $order_id)
+		{
+			
+			$arReplace = array(
+				'/%filename%/' => $filename,
+				'/%filename_clear%/' => preg_replace('/\.(.*)$/', '', $filename) 
+			);
+			
+			$filename = preg_replace(array_keys($arReplace), array_values($arReplace), $this->shop->get_option('wpsg_mod_orderupload_filename'));
+			
+			$filename = $this->shop->replaceUniversalPlatzhalter($filename, $order_id);
+			
+			return $filename;
+			
+		} // public function getNewName($filename, $order_id)
+		
+		public function getSavePath($order_id, $burl = false)
+ 		{
+ 		 
+ 			if ($this->shop->isMultiBlog())
+			{
+
+				$url = WPSG_URL_CONTENT.WPSG_MB_UPLOADS.'/wpsg/wpsg_orderupload/'.$order_id.'/';
+				$path = WP_CONTENT_DIR.'/'.WPSG_MB_UPLOADS.'/wpsg/wpsg_orderupload/'.$order_id.'/'; 
+				$htaccess = WP_CONTENT_DIR.'/'.WPSG_MB_UPLOADS.'/wpsg/wpsg_orderupload/.htaccess';
+				 
+			}
+			else
+			{
+				
+				$url = WPSG_URL_CONTENT.'uploads/wpsg/wpsg_orderupload/'.$order_id.'/';
+				$path = WP_CONTENT_DIR.'/uploads/wpsg/wpsg_orderupload/'.$order_id.'/';
+				$htaccess = WP_CONTENT_DIR.'/uploads/wpsg/wpsg_orderupload/.htaccess';
+								
+			}
+			 
+			if (!file_exists($path)) mkdir($path, 0777, true);
+			
+ 			if (!file_exists($htaccess))
+			{
+				 				
+				$handle = fopen($htaccess, "w+");
+				$content = "Deny from all";			
+				fwrite($handle, $content, strlen($content));
+				fclose($handle);
+				
+			}
+			
+			if ($burl) return $url;
+			else return $path;
+			
+ 		} // private function getSavePath($order_id, $url = false)
+				
+	} // class wpsg_mod_orderupload extends wpsg_mod_basic
+
+
+?>
Index: /system/intern/views/mod_bankalignment/order_ajax.phtml
===================================================================
--- /system/intern/views/mod_bankalignment/order_ajax.phtml	(revision 5691)
+++ /system/intern/views/mod_bankalignment/order_ajax.phtml	(revision 5691)
@@ -0,0 +1,95 @@
+<?php
+
+	/**
+	 * Template fÃŒr die Zuweisung der Bestellungen zu DatensÃ€tzen aus der CSV Datei
+	 */
+ 
+?>
+<div class="wrap wpsg_mod_bankalignment_order_ajax">
+	<div class="icon32 icon32-posts-post" id="icon-edit"><br></div>
+	<h2>
+		<?php echo __('Bestellverwaltung', 'wpsg'); ?> - <?php echo __('Bankabgleich', 'wpsg'); ?>
+	</h2>
+	
+	<br />
+	
+	<form method="post" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=ajax&noheader=1&mod=wpsg_mod_bankalignment">
+	
+		<table class="widefat post fixed">
+			<thead>
+				<tr>
+					<th class="manage-column wpsg-nr"><?php echo __('Zeile', 'wpsg'); ?></th>
+					<th class="manage-column wpsg-order"><?php echo __('Bestellung', 'wpsg'); ?></th>
+				</tr>
+			</thead>
+			<tbody>
+				<?php $i = 0; foreach ($this->view['set'] as $row) { $i ++; ?>
+				<tr>
+					<td class="wpsg-nr">
+						<?php echo $i; ?>
+						<?php if ($row['order_id'] === false) { ?>
+						<span class="wpsg_error"><?php echo __('Bestellung konnte nicht automatisch ermittelt werden.', 'wpsg'); ?></span>
+						<?php } else { ?>
+						<span class="wpsg_erfolg"><?php echo wpsg_translate(__('Bestellung #1# wurde automatisch erkannt.', 'wpsg'), $row['onr']); ?></span>
+						<?php } ?>
+						<div class="row-actions">
+							<span class="view"><a onclick="return wpsg_mod_bankalignment_show(this);" title="<?php echo __("Details anzeigen", "wpsg"); ?>" href="#"><?php echo __("Details anzeigen", "wpsg"); ?></a></span>
+						</div>
+						<div class="row-details">
+							<br />
+							<?php foreach ($this->view['colInfo'] as $k => $v) { ?>
+							<?php echo $v; ?>: <?php echo $row['data'][$k]; ?> <br />
+							<?php } ?>						
+						</div>
+					</td>
+					<td class="wpsg-order">
+						<select name="set[]" style="width:100%;">
+							<option value="-1"><?php echo __('Bitte Bestellung auswÃ€hlen / Zeile ignorieren', 'wpsg'); ?></option>
+							<?php foreach ($this->view['arOrder'] as $o) { ?>
+							<option <?php echo (($row['order_id'] == $o['o_id'])?'selected="selected"':''); ?> value="<?php echo $o['o_id']; ?>"><?php echo wpsg_translate(__('Bestellung #1# (#2#) auf "#3#" setzen', 'wpsg'), $o['onr'], $o['okey'], $this->arStatus[100]); ?></option>
+							<?php } ?>
+						</select>					
+					</td>
+				</tr>
+				<?php } ?>
+			</tbody>
+		</table>
+		
+		<br />
+		
+		<input type="submit" name="wpsg_mod_bankalignment_submit" value="<?php echo __('Ãnderungen ÃŒbernehmen', 'wpsg'); ?>" class="button-primary" />
+	
+	</form>
+	
+	<script type="text/javascript">/* <![CDATA[ */
+
+		/**
+		 * Zeigt die Details einer Datenzeile an oder blendet sie aus
+		 */
+		function wpsg_mod_bankalignment_show(oElement)
+		{
+
+			if (jQuery(oElement).parent().parent().parent().find('.row-details').is(':visible'))
+			{
+
+				jQuery(oElement).parent().parent().parent().find('.row-details').hide();
+				jQuery(oElement).attr('title', '<?php echo __("Details anzeigen", "wpsg"); ?>');
+				jQuery(oElement).text('<?php echo __("Details anzeigen", "wpsg"); ?>');
+				
+			}
+			else
+			{
+
+				jQuery(oElement).parent().parent().parent().find('.row-details').show();
+				jQuery(oElement).attr('title', '<?php echo __("Details ausblenden", "wpsg"); ?>');
+				jQuery(oElement).text('<?php echo __("Details ausblenden", "wpsg"); ?>');
+				
+			}	
+			
+			return false;
+			
+		} // function wpsg_mod_bankalignment_show(oElement)
+    
+	/* ]]> */</script>
+	
+</div>
Index: /system/intern/views/mod_bankalignment/product_index_tab.phtml
===================================================================
--- /system/intern/views/mod_bankalignment/product_index_tab.phtml	(revision 5691)
+++ /system/intern/views/mod_bankalignment/product_index_tab.phtml	(revision 5691)
@@ -0,0 +1,21 @@
+<?php
+
+	/**
+	 * Integriert das Uploadformular in die Bestellverwaltung
+	 */
+
+?>
+
+			
+<form method="POST" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=ajax&mod=wpsg_mod_bankalignment" enctype="multipart/form-data">
+
+    <?php echo wpsg_drawForm_Upload('wpsg_mod_bankalignment_file', __('CSV Datei', 'wpsg')); ?>
+
+    <br />
+
+    <div class="container-fluid">
+        <input type="submit" value="<?php echo __('Abgleich starten', 'wpsg'); ?>" name="submit" class="button" />
+    </div>
+
+</form>
+			
Index: /system/intern/views/mod_bankalignment/settings_edit.phtml
===================================================================
--- /system/intern/views/mod_bankalignment/settings_edit.phtml	(revision 5691)
+++ /system/intern/views/mod_bankalignment/settings_edit.phtml	(revision 5691)
@@ -0,0 +1,9 @@
+<?php
+
+	/**
+	 * Template fÃŒr die Einstellungen des Bankabgleichsmoduls
+	 */
+
+?>
+
+<?php echo wpsg_drawForm_Input('wpsg_mod_bankalignment_separator', __('Treenzeichen', 'wpsg'), $this->get_option('wpsg_mod_bankalignment_separator')); ?>
Index: /system/intern/views/mod_orderupload/checkout_inner_prebutton.phtml
===================================================================
--- /system/intern/views/mod_orderupload/checkout_inner_prebutton.phtml	(revision 5691)
+++ /system/intern/views/mod_orderupload/checkout_inner_prebutton.phtml	(revision 5691)
@@ -0,0 +1,26 @@
+<?php
+
+	/**
+	 * Template fÃŒr die Integration des Bestelluploads in den Bestellprozess
+	 */
+
+?>
+<div class="wpsg_box wpsg_mod_orderupload">
+	<div class="wpsg_head"><?php echo __('Dateiupload', 'wpsg'); ?> <?php if ($this->get_option('wpsg_mod_orderupload_optional') != '1') { ?><span class="wpsg_required">*</span><?php } ?></div>
+	<div class="wpsg_inner">
+			
+		<input type="file" name="wpsg_mod_orderupload_file" />
+ 
+		<?php if (wpsg_isSizedArray($_SESSION['wpsg']['wpsg_mod_orderupload'])) { ?>
+			<br />
+			<label class="wpsg_checkout"><?php echo __('Bisher hochgeladene Dokumente', 'wpsg'); ?>:</label><br />
+			<?php foreach ($_SESSION['wpsg']['wpsg_mod_orderupload'] as $ou_index => $ou) { ?>
+			<a onclick="return confirm('<?php echo __('Sind Sie sich sicher, dass Sie dieses Dokument aus der Bestellung entfernen mÃ¶chten?', 'wpsg'); ?>');" href="?wpsg_plugin=wpsg_mod_orderupload&wpsg_action=remove&file_index=<?php echo $ou_index; ?>" class="wpsg_mod_orderupload_removelink">
+				<?php echo __('Entfernen', 'wpsg'); ?>
+			</a>
+			<a href="<?php echo $ou[2]; ?>"><?php echo wpsg_hspc($ou[0]); ?></a>&nbsp;<?php echo '('.wpsg_formatSize($ou[3]).')'; ?><br />		
+			<?php } ?>
+		<?php } ?>
+			
+	</div>
+</div>
Index: /system/intern/views/mod_orderupload/order_view_sidebar.phtml
===================================================================
--- /system/intern/views/mod_orderupload/order_view_sidebar.phtml	(revision 5691)
+++ /system/intern/views/mod_orderupload/order_view_sidebar.phtml	(revision 5691)
@@ -0,0 +1,22 @@
+<?php
+
+	/**
+	 * Template fÃŒr die Anzeige der Bestelluploads innerhalb der Bestellung
+	 */
+ 
+?>
+<div class="postbox" id="wpsg_modorderupload">
+	<div title="<?php echo __('Zum Ein/Ausklappen hier klicken', 'wpsg'); ?>" class="handlediv"><br></div>
+	<h3 class="hndle">
+		<span><?php echo __('Bestelluploads', 'wpsg'); ?></span>
+	</h3> 
+	<div class="inside">
+		 <?php if (!wpsg_isSizedArray($this->view['arFiles'])) { ?>
+		 <p><?php echo __('Keine Dateien hochgeladen.', 'wpsg'); ?></p>
+		 <?php } else { ?>
+		 <?php foreach ($this->view['arFiles'] as $f) { ?>
+		 <a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=view&edit_id=<?php echo $this->view['data']['id']; ?>&noheader=1&action=ajax&mod=wpsg_mod_orderupload&wpsg_mod_orderupload_download=<?php echo rawurlencode($f); ?>"><?php echo $f; ?></a> (<?php echo wpsg_formatSize($this->callMod('wpsg_mod_orderupload', 'getSavePath', array($this->view['data']['id'])).$f); ?>)<br />
+		 <?php } ?>
+		 <?php } ?>
+	</div>
+</div>
Index: /system/intern/views/mod_orderupload/settings_edit.phtml
===================================================================
--- /system/intern/views/mod_orderupload/settings_edit.phtml	(revision 5691)
+++ /system/intern/views/mod_orderupload/settings_edit.phtml	(revision 5691)
@@ -0,0 +1,11 @@
+<?php
+
+	/**
+	 * Template fÃŒr die Einstellungen des Bestell Upload Moduls
+	 */
+
+?>
+<?php echo wpsg_drawForm_Input('wpsg_mod_orderupload_filename', __('Neuer Dateiname', 'wpsg'), $this->get_option('wpsg_mod_orderupload_filename'), array('help' => 'wpsg_mod_orderupload_filename')); ?>
+<?php echo wpsg_drawForm_Input('wpsg_mod_orderupload_allowedext', __('Erlaubte Endungen (kommagetrennt)', 'wpsg'), $this->get_option('wpsg_mod_orderupload_allowedext'), array('help' => 'wpsg_mod_orderupload_allowedext')); ?>
+<?php echo wpsg_drawForm_Checkbox('wpsg_mod_orderupload_multifiles', __('Mehr als eine Datei erlauben', 'wpsg'), $this->get_option('wpsg_mod_orderupload_multifiles'), array('help' => 'wpsg_mod_orderupload_multifiles')); ?>
+<?php echo wpsg_drawForm_Checkbox('wpsg_mod_orderupload_optional', __('Upload ist kein Pflichtfeld', 'wpsg'), $this->get_option('wpsg_mod_orderupload_optional'), array('help' => 'wpsg_mod_orderupload_optional')); ?>
Index: /views/mods/mod_ordervars/settings_edit.phtml
===================================================================
--- /views/mods/mod_ordervars/settings_edit.phtml	(revision 5690)
+++ /views/mods/mod_ordervars/settings_edit.phtml	(revision 5691)
@@ -30,20 +30,8 @@
 /* ]]> */
 </script>
-<p><?php echo __('Wird eine Bestellvariable vom Type', 'wpsg') ?> <strong><?php echo __('"Auswahl"', 'wpsg') ?></strong> <?php echo __('angelegt, kÃ¶nnen die Optionen mit dem Pipe "|" Symbol getrennt angegeben werden.', 'wpsg') ?></p>
-<p><strong><?php echo __('Bsp.:', 'wpsg')?></strong> <?php echo __('Auswahl_1 | Auswahl_2 | Auswahl_3', 'wpsg') ?></p>
+
+<div class="content" id="wpsg_ov_list"><?php echo $this->mod->ov_list(); ?></div>
+
 <br />
-<div class="wpsg_admin_box">		
-		  		
-	<div class="head">
-		<div class="title">
-			<div class="fulltab">
-				<?php echo __('Bestellvariablen', 'wpsg'); ?>
-				<a title="<?php echo __('Neue Bestellvariable anlegen', 'wpsg'); ?>" href="" class="wpsg_icon wpsg_icon_right wpsg_icon_add" onclick="return wpsg_addOV();"></a>
-			</div>
-		</div>
-	</div>
-	<div class="content" id="wpsg_ov_list">
-		<?php echo $this->mod->ov_list(); ?>
-	</div>
-			
-</div>
+
+<a title="<?php echo __('Neue Bestellvariable anlegen', 'wpsg'); ?>" href="" class="" onclick="return wpsg_addOV();"><span class="glyphicon wpsg-glyphicon glyphicon-plus"></span><?php echo __('Neue Bestellvariable anlegen.', 'wpsg'); ?></a>
