Index: /controller/wpsg_ProduktController.class.php
===================================================================
--- /controller/wpsg_ProduktController.class.php	(revision 5752)
+++ /controller/wpsg_ProduktController.class.php	(revision 5753)
@@ -78,146 +78,48 @@
 		public function indexAction()
 		{
-			
-			$search = array();
-			$strQueryWHERE = "";
-			
-			if (isset($_REQUEST['s']) && $_REQUEST['s'] != '')
-			{
-				
-				$strQueryWHERE_OR = "";
-				
-				if ($this->shop->hasMod('wpsg_mod_varianten')) $strQueryWHERE_OR .= " OR `mod_varianten` LIKE '%".wpsg_q($_REQUEST['s'])."%' ";					
-				
-				$strQueryWHERE .= " 
-					AND (
-						P.`name` LIKE '%".wpsg_q($_REQUEST['s'])."%' OR
-						P.`anr` LIKE '%".wpsg_q($_REQUEST['s'])."%'
-						".$strQueryWHERE_OR."
-					)
-				";
-
-				$search['s'] = $_REQUEST['s'];
-				
-			}
-			
-			if (isset($_REQUEST['search']['pgruppe']) && $_REQUEST['search']['pgruppe'] > 0)
-			{
-				
-				$strQueryWHERE .= " AND P.`pgruppe` = '".wpsg_q($_REQUEST['search']['pgruppe'])."' ";
-				$search['pgruppe'] = $_REQUEST['search']['pgruppe'];
-				
-			}
-			
-			if (wpsg_isSizedString($strQueryWHERE)) $this->shop->view['hasFilter'] = true;
-			else $this->shop->view['hasFilter'] = false;
-			
-			$strQueryORDER = '';
-			
-			if (!isset($_REQUEST['search']['order']))
-			{
-				
-				$search['order'] = 'name';
-								
-			}
-			else
-			{
-
-				$search['order'] = $_REQUEST['search']['order'];
-				
-			}
-			
-			switch ($search['order'])
-			{
-				
-				case 'mwst': $strQueryORDER = "P.`mwst_key`"; break;		
-				case 'anr': $strQueryORDER = "P.`anr`"; break;
-				case 'stock': $strQueryORDER = "P.`stock`"; break;
-				case 'pgruppe': $strQueryORDER = "`pgruppe_name`"; break;	
-				case 'price':
-
-					if ($this->shop->get_option('wpsg_preisangaben') == WPSG_NETTO) $strQueryORDER = "P.`preis_netto`"; 
-					else $strQueryORDER = "P.`preis`";
-
-					break;
-					
-				case 'id': $strQueryORDER = "P.`id`"; break;
-					
-				default: $strQueryORDER = "P.`name`"; break;  
-				
-			}
-			
-			if (!isset($_REQUEST['search']['ascdesc']))
-			{
-				
-				$search['ascdesc'] = 'asc';
-				
-			}
-			else
-			{
-				
-				$search['ascdesc'] = $_REQUEST['search']['ascdesc'];
-				
-			}
-			
-			$this->shop->view['search'] = $search;
-						
-			$GLOBALS['wpsg_produkt_index_query_where'] = $strQueryWHERE;
-			
-			$nPerPage = $this->get_option('wpsg_produkte_perpage');
+
+			$nPerPage = $this->shop->get_option('wpsg_produkte_perpage');
 			if ($nPerPage <= 0) $nPerPage = 10;
-			
-			if (isset($_REQUEST['seite'])) $seite = $_REQUEST['seite']; else $seite = 1;
-									
-			$this->shop->view['count'] = $this->db->fetchOne("
-				SELECT
-					COUNT(*)
-				FROM	
-					`".WPSG_TBL_PRODUCTS."` AS P
-				WHERE
-					`deleted` != '1' AND 
-					`lang_parent` = 0  
-					".$strQueryWHERE."
-			");
-			
-			$this->shop->view['seite'] = $seite;
-			$this->shop->view['pages'] = ceil($this->shop->view['count'] / $nPerPage); 			
-			if ($this->shop->view['seite'] <= 0 || $this->shop->view['seite'] > $this->shop->view['pages']) $this->shop->view['seite'] = 1;
-			
-			$strQuerySELECT = "";
-			
-			if ($this->shop->hasMod('wpsg_mod_productgroups'))
-			{
-				
-				$strQuerySELECT .= ", (SELECT PG.`name` FROM `".WPSG_TBL_PRODUCTS_GROUP."` AS PG WHERE PG.`id` = P.`pgruppe`) AS `pgruppe_name` ";
-				
-			}
-			
-			$this->shop->view['data'] = $this->db->fetchAssoc("
-				SELECT
-					P.*
-					".$strQuerySELECT." 				
-				FROM	
-					`".WPSG_TBL_PRODUCTS."` AS P
-				WHERE
-					`deleted` != '1' AND
-					`lang_parent` = 0 
-					".$strQueryWHERE."
-				ORDER BY
-					".wpsg_q($strQueryORDER)." ".wpsg_q($search['ascdesc'])."
-				LIMIT
-					".(($this->shop->view['seite'] - 1) * $nPerPage).", ".$nPerPage."
-			");
-			
-			$default_country = $this->shop->getDefaultCountry();
-			
-			foreach ($this->shop->view['data'] as &$d)
-			{
-								
-				$d['mwst_value'] = $default_country->getTax($d['mwst_key']); 
-				
-			}
-			
+
+			$this->shop->view['hasFilter'] = false;
+			$this->shop->view['arFilter'] = array(
+				'order' => 'cdate',
+				'ascdesc' => 'ASC',
+				'status' => '0',
+				'page' => '1'
+			);
+			$this->shop->view['arData'] = array();
+			$this->shop->view['pages'] = 1;
+
+			if (wpsg_isSizedArray($_REQUEST['filter']))
+			{
+
+				$this->shop->view['arFilter'] = $_REQUEST['filter'];
+				$this->shop->view['hasFilter'] = true;
+
+			}
+			else if (wpsg_isSizedArray($_SESSION['wpsg']['backend']['products']['arFilter']))
+			{
+
+				//$this->shop->view['arFilter'] = $_SESSION['wpsg']['backend']['customer']['arFilter'];
+
+			}
+
+			$this->shop->view['countAll'] = wpsg_product::count($this->shop->view['arFilter']);
+
+			if (wpsg_isSizedInt($_REQUEST['seite'])) $this->shop->view['arFilter']['page'] = $_REQUEST['seite'];
+
+			$this->shop->view['pages'] = ceil($this->shop->view['countAll'] / $nPerPage);
+			if ($this->shop->view['arFilter']['page'] <= 0 || $this->shop->view['arFilter']['page'] > $this->shop->view['pages']) $this->shop->view['arFilter']['page'] = 1;
+
+			$this->shop->view['arFilter']['limit'] = array(($this->shop->view['arFilter']['page'] - 1) * $nPerPage, $nPerPage);
+
+			// Filter speichern
+			$_SESSION['wpsg']['backend']['products']['arFilter'] = $this->shop->view['arFilter'];
+
+			$this->shop->view['arData'] = wpsg_product::find($this->shop->view['arFilter']);
+
 			$this->shop->render(WPSG_PATH_VIEW.'/produkt/index.phtml');
-			
+ 
 		} // public function indexAction()
 		
Index: /controller/wpsg_ShopController.class.php
===================================================================
--- /controller/wpsg_ShopController.class.php	(revision 5752)
+++ /controller/wpsg_ShopController.class.php	(revision 5753)
@@ -654,5 +654,5 @@
 				
 				wp_enqueue_script('common');
-			
+
 				wp_enqueue_script('wpsg_adminjs', $this->getRessourceURL('js/admin.js'));
 				wp_enqueue_script('wpsg_cookiejs', $this->getRessourceURL('js/jquery.cookie.js'));
@@ -662,8 +662,8 @@
 				wp_enqueue_script('utils');
 				wp_enqueue_script('jquery-color');
-				
+
 				wp_enqueue_script('jquery-ui-core');
 				wp_enqueue_script('jquery-ui-sortable');
-				wp_enqueue_script('jquery-ui-datepicker', $this->url(WPSG_URL_CONTENT.'plugins/'.WPSG_FOLDERNAME.'/lib/ui/jquery.ui.datepicker.js'), array('jquery', 'jquery-ui-core'));
+				wp_enqueue_script('jquery-ui-datepicker'); //, $this->url(WPSG_URL_CONTENT.'plugins/'.WPSG_FOLDERNAME.'/lib/ui/jquery.ui.datepicker.js'), array('jquery', 'jquery-ui-core'));
 				wp_enqueue_script('jquery-ui-datepicker-de', $this->url(WPSG_URL_CONTENT.'plugins/'.WPSG_FOLDERNAME.'/lib/ui/jquery.ui.datepicker-de.js'), array('jquery', 'jquery-ui-core'));
 			
@@ -677,4 +677,5 @@
 				}
 				
+				wp_enqueue_style('jquery-ui-datepicker');
 				wp_enqueue_style('wpsg-adminstyle', $GLOBALS['wpsg_sc']->getRessourceURL('css/admin.css'), array('wpsg-bscss', 'wpsg-bs-theme-css'));
 				
Index: /lib/helper_functions.inc.php
===================================================================
--- /lib/helper_functions.inc.php	(revision 5752)
+++ /lib/helper_functions.inc.php	(revision 5753)
@@ -535,11 +535,18 @@
 	} // function wpsg_drawForm_Checkbox($field_name, $field_label, $conf = array())
 
-	function wpsg_drawForm_AdminboxStart($title, $wrap_class = '')
+	function wpsg_drawForm_AdminboxStart($title = false, $wrap_class = '')
 	{
 		
 		echo '<div class="panel panel-default '.$wrap_class.'">';
-		echo '<div class="panel-heading clearfix">';
-		echo '<h3 class="panel-title">'.$title.'</h3>';
-		echo '</div>';
+
+		if (wpsg_isSizedString($title))
+		{
+
+			echo '<div class="panel-heading clearfix">';
+			echo '<h3 class="panel-title">'.$title.'</h3>';
+			echo '</div>';
+
+		}
+
 		echo '<div class="panel-body">';
 				
Index: /model/wpsg_product.class.php
===================================================================
--- /model/wpsg_product.class.php	(revision 5752)
+++ /model/wpsg_product.class.php	(revision 5753)
@@ -115,4 +115,21 @@
 		} // public function getMeta($meta_key)
 
+		public function getProductgroup()
+		{
+
+			return wpsg_productgroup::getInstance($this->pgruppe);
+
+		} // public function getProductgroup()
+
+		public function getProductgroupName()
+		{
+
+			$oProductGroup = $this->getProductgroup();
+
+			if ($oProductGroup === false) return '----';
+			else return $oProductGroup->name;
+
+		} // public function getProductgroupName()
+
 		/**
 		 * Gibt die Produktbeschreibung zurÃŒck
@@ -210,5 +227,12 @@
 			
 		} // public function getProductURL()
-		 
+
+		public function getDefaultTaxValue()
+		{
+
+			return $GLOBALS['wpsg_sc']->getDefaultCountry()->getTax($this->mwst_key);
+
+		} // public function getDefaultTaxValue()
+
 		/**
 		 * Gibt den MwSt. Wert fÃŒr das Frontend zurÃŒck
@@ -429,13 +453,46 @@
 			
 		} // public static function getMinPrice($arFilter = array())
-				
+
+		public static function count($arFilter = array())
+		{
+
+			list($strQuerySELECT, $strQueryWHERE, $strQueryJOIN, $strQueryHAVING, $strQueryORDER) = self::getQueryParts($arFilter);
+
+			$strQuery = "
+				SELECT
+					COUNT(*)
+				FROM
+					(
+						SELECT
+						  	DISTINCT P.`id`
+						FROM
+							`".WPSG_TBL_PRODUCTS."` AS P
+							".$strQueryJOIN."
+						WHERE
+							1
+							".$strQueryWHERE." 
+						HAVING
+							1
+							".$strQueryHAVING."											
+					) AS innerSelect
+			";
+
+			return $GLOBALS['wpsg_db']->fetchOne($strQuery);
+
+		}
+
 		public static function find($arFilter = array(), $load = true)
 		{
-		
-			list($strQueryWHERE, $strQueryJOIN, $strQueryHAVING, $strQueryORDER) = self::getQueryParts($arFilter);
-		
+
+			list($strQuerySELECT, $strQueryWHERE, $strQueryJOIN, $strQueryHAVING, $strQueryORDER) = self::getQueryParts($arFilter);
+
+			$strLimit = "";
+
+			if (wpsg_isSizedArray($arFilter['limit'])) $strLimit = "LIMIT ".wpsg_q($arFilter['limit'][0]).", ".wpsg_q($arFilter['limit'][1]);
+
 			$strQuery = "
 				SELECT
 					P.`id`
+					".$strQuerySELECT."
 				FROM
 					`".WPSG_TBL_PRODUCTS."` AS P
@@ -450,7 +507,8 @@
 					".$strQueryHAVING."				
 				ORDER BY
-					".$strQueryORDER."				
+					".$strQueryORDER."
+				".$strLimit."
 			";
-			 
+
 			$arID = $GLOBALS['wpsg_db']->fetchAssocField($strQuery);
 			$arReturn = array();
@@ -470,19 +528,35 @@
 		public static function getQueryParts($arFilter = array())
 		{
-		  
+
+			$strQuerySELECT = "";
 			$strQueryWHERE = "";
 			$strQueryJOIN = "";
 			$strQueryHAVING = "";
 			$strQueryORDER = "";
-			
-			if (wpsg_isSizedString($arFilter['order_col'])) $strQueryORDER .= " ".$arFilter['order_col']." ";
-			if (wpsg_isSizedString($arFilter['order_direction'])) $strQueryORDER .= $arFilter['order_direction'];			
-			if (!wpsg_isSizedString($strQueryORDER)) $strQueryORDER = " P.`cdate` ASC ";
-			
+
 			if (wpsg_isSizedArray($arFilter['product_ids'])) $strQueryWHERE .= " AND P.`id` IN (".wpsg_q(implode(',', $arFilter['product_ids'])).") ";
+
 			if (wpsg_isSizedArray($arFilter['productgroup_ids'])) $strQueryWHERE .= " AND P.`pgruppe` IN (".wpsg_q(implode(',', $arFilter['productgroup_ids'])).") ";
+			else if (wpsg_isSizedString($arFilter['productgroup_ids']) && $arFilter['productgroup_ids'] != '-1') $strQueryWHERE .= " AND P.`pgruppe` IN (".wpsg_q($arFilter['productgroup_ids']).") ";
+
 			if (wpsg_isSizedString($arFilter['price_min'])) $strQueryWHERE .= " AND P.`preis` >= '".wpsg_q($arFilter['price_min'])."' ";
 			if (wpsg_isSizedString($arFilter['price_max'])) $strQueryWHERE .= " AND P.`preis` <= '".wpsg_q($arFilter['price_max'])."' ";
-			
+			if (wpsg_isSizedString($arFilter['s']))
+			{
+
+				$strQueryWHERE_OR = "";
+
+				if ($GLOBALS['wpsg_sc']->hasMod('wpsg_mod_varianten')) $strQueryWHERE_OR .= " OR `mod_varianten` LIKE '%".wpsg_q($arFilter['s'])."%' ";
+
+				$strQueryWHERE .= " 
+					AND (
+						P.`name` LIKE '%".wpsg_q($arFilter['s'])."%' OR
+						P.`anr` LIKE '%".wpsg_q($arFilter['s'])."%'
+						".$strQueryWHERE_OR."
+					)
+				";
+
+			}
+
 			if (wpsg_isSizedArray($arFilter['cat_ids']) && $GLOBALS['wpsg_sc']->hasMod('wpsg_mod_produktartikel'))
 			{
@@ -526,8 +600,23 @@
 				 
 			}
-			
+
+			if (wpsg_isSizedString($arFilter['order'], 'name')) { $strQueryORDER = " P.`name` "; }
+			else if (wpsg_isSizedString($arFilter['order'], 'anr')) { $strQueryORDER = " P.`anr` "; }
+			else if (wpsg_isSizedString($arFilter['order'], 'pgruppe'))
+			{
+
+				$strQuerySELECT .= " , (SELECT PG.`name` FROM `".WPSG_TBL_PRODUCTS_GROUP."` AS PG WHERE PG.`id` = P.`pgruppe`) AS `order_count` ";
+				$strQueryORDER = " order_count ";
+
+			}
+			else $strQueryORDER = " P.`id` ";
+
+			// Richtung
+			if (wpsg_isSizedString($arFilter['ascdesc'], "DESC")) $strQueryORDER .= " DESC ";
+			else $strQueryORDER .= " ASC ";
+
 			$strQueryWHERE .= " AND P.`deleted` != '1' ";
 			
-			return array($strQueryWHERE, $strQueryJOIN, $strQueryHAVING, $strQueryORDER);
+			return array($strQuerySELECT, $strQueryWHERE, $strQueryJOIN, $strQueryHAVING, $strQueryORDER);
 		
 		} // public function getQueryParts($arFilter = array())
Index: /mods/mod_customergroup/wpsg_customergroup.php
===================================================================
--- /mods/mod_customergroup/wpsg_customergroup.php	(revision 5752)
+++ /mods/mod_customergroup/wpsg_customergroup.php	(revision 5753)
@@ -51,12 +51,5 @@
 			
 		} // public static function delete($customer_group_id)
-
-		public function countProducts()
-		{
-
-			return 1;
-
-		}
-
+ 
 		public static function count($arFilter = array())
 		{
Index: /mods/mod_gutschein/wpsg_voucher.php
===================================================================
--- /mods/mod_gutschein/wpsg_voucher.php	(revision 5753)
+++ /mods/mod_gutschein/wpsg_voucher.php	(revision 5753)
@@ -0,0 +1,159 @@
+<?php
+
+	/**
+	 * Gutscheinmodel
+	 * @author Daschmi
+	 */
+	class wpsg_voucher extends wpsg_model
+	{
+
+		/**
+		 * LÃ€dt die Daten des Gutscheins
+		 */
+		public function load($voucher_id)
+		{
+
+			parent::load($voucher_id);
+
+			$this->data = $this->db->fetchRow("
+				SELECT 
+					V.* 
+				FROM
+					`".WPSG_TBL_GUTSCHEIN."` AS V
+				WHERE
+					V.`id` = '".wpsg_q($voucher_id)."'
+			");
+
+			if ($this->data['id'] != $voucher_id || !wpsg_isSizedInt($voucher_id)) return false;
+
+			return true;
+
+		} // public function __construct($voucher_id)
+
+        public function getUsed()
+        {
+
+            return 14;
+
+        }
+
+        public function getStatusLabel()
+        {
+
+            return "TODO";
+
+        }
+
+        public function delete()
+        {
+
+            $this->db->Query("DELETE FROM `".WPSG_TBL_GUTSCHEIN."` WHERE `id` = '".wpsg_q($this->id)."' ");
+
+        }
+
+        /* Statische Funktionen */
+
+		public static function count($arFilter = array())
+		{
+
+			list($strQuerySELECT, $strQueryWHERE, $strQueryJOIN, $strQueryHAVING, $strQueryORDER) = self::getQueryParts($arFilter);
+
+			$strQuery = "
+				SELECT
+					COUNT(*)
+				FROM
+					(
+						SELECT
+						  	DISTINCT V.`id`
+						FROM
+							`".WPSG_TBL_GUTSCHEIN."` AS V
+							".$strQueryJOIN."
+						WHERE
+							1
+							".$strQueryWHERE." 
+						HAVING
+							1
+							".$strQueryHAVING."											
+					) AS innerSelect
+			";
+
+			return $GLOBALS['wpsg_db']->fetchOne($strQuery);
+
+		} // public static function count($arFilter = array())
+
+		/**
+		 * Gibt einen Array von Kundengruppen zurÃŒck, die auf den ÃŒbergebenen Filter passen
+		 * @param array $arFilter
+		 */
+		public static function find($arFilter = array())
+		{
+
+			list($strQuerySELECT, $strQueryWHERE, $strQueryJOIN, $strQueryHAVING, $strQueryORDER) = self::getQueryParts($arFilter);
+
+			$strLimit = "";
+
+			if (wpsg_isSizedArray($arFilter['limit'])) $strLimit = "LIMIT ".wpsg_q($arFilter['limit'][0]).", ".wpsg_q($arFilter['limit'][1]);
+
+			$strQuery = "
+				SELECT
+					V.`id`
+					".$strQuerySELECT."
+				FROM
+					`".WPSG_TBL_GUTSCHEIN."` AS V
+						".$strQueryJOIN."
+				WHERE
+					1
+					".$strQueryWHERE."
+				HAVING
+					1
+					".$strQueryHAVING."
+				ORDER BY
+					".$strQueryORDER."		
+				".$strLimit."
+			";
+
+			$arID = $GLOBALS['wpsg_db']->fetchAssocField($strQuery);
+			$arReturn = array();
+
+			foreach ($arID as $id)
+			{
+
+				$arReturn[$id] = self::getInstance($id);
+
+			}
+
+			return $arReturn;
+
+
+		} // public static function find($arFilter = array())
+
+		public static function getQueryParts($arFilter = array())
+		{
+
+			$strQuerySELECT = "";
+			$strQueryWHERE = "";
+			$strQueryJOIN = "";
+			$strQueryHAVING = "";
+			$strQueryORDER = "";
+
+ 			if (wpsg_isSizedString($arFilter['s'])) $strQueryWHERE .= " AND V.`code` LIKE '%".wpsg_q($arFilter['s'])."%' ";
+
+			if (wpsg_isSizedString($arFilter['code'])) $strQueryWHERE .= " AND V.`code` LIKE '%".wpsg_q($arFilter['code'])."%' ";
+
+			if (wpsg_isSizedString($arFilter['order'], 'code')) { $strQueryORDER = " V.`code` "; }
+            else if (wpsg_isSizedString($arFilter['order'], 'start_date')) { $strQueryORDER = " V.`start_date` "; }
+            else if (wpsg_isSizedString($arFilter['order'], 'end_date')) { $strQueryORDER = " V.`end_date` "; }
+            else if (wpsg_isSizedString($arFilter['order'], 'value')) { $strQueryORDER = " V.`value` "; }
+			else $strQueryORDER = " V.`id` ";
+
+			// Richtung
+			if (wpsg_isSizedString($arFilter['ascdesc'], "DESC")) $strQueryORDER .= " DESC ";
+			else $strQueryORDER .= " ASC ";
+
+			return array($strQuerySELECT, $strQueryWHERE, $strQueryJOIN, $strQueryHAVING, $strQueryORDER);
+
+		}
+
+	} // class wpsg_voucher
+
+?>
Index: /mods/mod_productgroups/wpsg_productgroup.php
===================================================================
--- /mods/mod_productgroups/wpsg_productgroup.php	(revision 5752)
+++ /mods/mod_productgroups/wpsg_productgroup.php	(revision 5753)
@@ -8,5 +8,55 @@
     {
 
+	    /**
+		 * LÃ€dt die Daten der Produktgruppe
+		 */
+		public function load($productgroup_id)
+		{
+
+			parent::load($productgroup_id);
+
+			$this->data = $this->db->fetchRow("
+				SELECT 
+					PG.*,
+					(SELECT COUNT(*) FROM `".WPSG_TBL_PRODUCTS."` AS P WHERE P.`pgruppe` = PG.`id`) AS `product_count` 
+				FROM
+					`".WPSG_TBL_PRODUCTS_GROUP."` AS PG
+				WHERE
+					PG.`id` = '".wpsg_q($productgroup_id)."' 
+			");
+
+			if ($this->data['id'] != $productgroup_id || !wpsg_isSizedInt($productgroup_id)) return false;
+
+			return true;
+
+		} // public function __construct($customer_group_id)
+
+	    public function countProducts()
+	    {
+		    
+		    return $this->product_count;
+		    
+	    }
+	    
         /* Statische Funktionen */
+
+	    public static function getProductgroupSelect()
+	    {
+
+		    return $GLOBALS['wpsg_db']->fetchAssocField("
+		        SELECT
+		            PG.`id`, CONCAT(PG.`name`,' (', (
+		            	SELECT COUNT(*) FROM `".WPSG_TBL_PRODUCTS."` AS P WHERE P.`pgruppe` = PG.`id` 
+		            ), ')') AS `name` ,
+		            (SELECT COUNT(*) FROM `".WPSG_TBL_PRODUCTS."` AS P WHERE P.`pgruppe` = PG.`id`) AS `product_count`
+		        FROM
+		        	`".WPSG_TBL_PRODUCTS_GROUP."` AS PG
+		        HAVING
+		            `product_count` > 0
+		        ORDER BY
+		            `name` ASC
+		    ", "id", "name");
+
+	    } // public static function getProductgroupSelect()
 
         /**
@@ -87,37 +137,15 @@
 			$strQueryWHERE = "";
 			$strQueryJOIN = "";
-			$strQueryHAVING = "";
+			$strQueryHAVING = ""; 
 
-			$strQuerySELECT .= ",
-				(SELECT COUNT(*) FROM `".WPSG_TBL_ORDER."` AS O WHERE O.`k_id` = K.`id` AND O.`status` != '".wpsg_q(wpsg_ShopController::STATUS_UNVOLLSTAENDIG)."') AS order_count,
-				(SELECT COUNT(*) FROM `".WPSG_TBL_ORDER."` AS O WHERE O.`k_id` = K.`id` AND O.`status` = '".wpsg_q(wpsg_ShopController::STATUS_UNVOLLSTAENDIG)."') AS order_count_incomplete
-			";
+			if (wpsg_isSizedString($arFilter['order'], 'name')) { $strQueryORDER = " PG.`name` "; }
+			else if (wpsg_isSizedString($arFilter['order'], 'template_file')) { $strQueryORDER = " PG.`template_file` "; }
+			else if (wpsg_isSizedString($arFilter['order'], 'product_count')) {
 
-			if (wpsg_isSizedString($arFilter['email']))
-			{
-
-				$strQueryWHERE .= " AND K.`email` = '".wpsg_q($arFilter['email'])."' ";
+				$strQuerySELECT .= ", (SELECT COUNT(*) FROM `".WPSG_TBL_PRODUCTS."` AS P WHERE P.`pgruppe` = PG.`id`) AS `product_count`) ";
+				$strQueryORDER = " `product_count` ";
 
 			}
-
-			if (wpsg_isSizedString($arFilter['s']))
-			{
-
-				$strQueryWHERE .= " 
-					AND (
-						K.`name` LIKE '%".wpsg_q($arFilter['s'])."%' OR
-						K.`vname` LIKE '%".wpsg_q($arFilter['s'])."%' OR
-						K.`email` LIKE '%".wpsg_q($arFilter['s'])."%' OR
-						K.`id` = '".wpsg_q($arFilter['s'])."' OR
-						K.`knr` LIKE '%".wpsg_q($arFilter['s'])."%'
-					)
-				";
-
-			}
-
-			if (wpsg_isSizedString($arFilter['order'], 'nr')) { $strQueryORDER = " K.`knr`, K.`vname`, K.`name` "; }
-			else if (wpsg_isSizedString($arFilter['order'], 'adress')) { $strQueryORDER = " CONCAT(K.`plz`, K.`ort`) "; }
-			else if (wpsg_isSizedString($arFilter['order'], 'status')) { $strQueryORDER = " order_count "; }
-			else $strQueryORDER = " K.`id` ";
+			else $strQueryORDER = " PG.`id` ";
 
 			// Richtung
Index: /mods/wpsg_mod_gutschein.class.php
===================================================================
--- /mods/wpsg_mod_gutschein.class.php	(revision 5752)
+++ /mods/wpsg_mod_gutschein.class.php	(revision 5753)
@@ -65,5 +65,8 @@
 		public function init()
 		{
-			
+
+			// Modell einbinden
+			require_once(WPSG_PATH_MOD.'mod_gutschein/wpsg_voucher.php');
+
 			$role_object = get_role('administrator');
 			$role_object->add_cap('wpsg_voucher');
@@ -768,5 +771,6 @@
 		public function indexAction()
 		{
-			 
+
+			/*
 			if (isset($_REQUEST['wpshopgermany-submit-gs_del']))
 			{
@@ -970,4 +974,74 @@
 				
 			}
+			*/
+
+			if (isset($_REQUEST['submit-multidelete']))
+			{
+
+				if (!wpsg_isSizedArray($_REQUEST['wpsg_multido']))
+				{
+
+					$this->shop->addBackendError(__('Bitte mindestens einen Gutschein auswÃ€hlen', 'wpsg'));
+
+				}
+				else
+				{
+
+					$nDelete = 0;
+
+					foreach ($_REQUEST['wpsg_multido'] as $k => $voucher_id)
+					{
+
+						$oVoucher = wpsg_voucher::getInstance($voucher_id);
+						$oVoucher->delete();
+
+						$nDelete ++;
+
+					}
+
+					$this->shop->addBackendMessage(wpsg_translate(__('#1# Gutschein(e) wurden gelÃ¶scht.', 'wpsg'), $nDelete));
+
+				}
+
+				$this->shop->redirect(WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Voucher&action=index');
+
+			}
+
+			$nPerPage = $this->shop->get_option('wpsg_mod_gutschein_perPage');
+			if ($nPerPage <= 0) $nPerPage = 25;
+
+			$this->shop->view['hasFilter'] = false;
+			$this->shop->view['arFilter'] = array(
+				'order' => 'cdate',
+				'ascdesc' => 'ASC',
+				'status' => '0',
+				'page' => '1'
+			);
+
+			$this->shop->view['arData'] = array();
+			$this->shop->view['pages'] = 1;
+
+			if (wpsg_isSizedArray($_REQUEST['filter']))
+			{
+
+				$this->shop->view['arFilter'] = $_REQUEST['filter'];
+				$this->shop->view['hasFilter'] = true;
+
+			}
+			else if (wpsg_isSizedArray($_SESSION['wpsg']['backend']['voucher']['arFilter'])) $this->shop->view['arFilter'] = $_SESSION['wpsg']['backend']['voucher']['arFilter'];
+
+			$this->shop->view['countAll'] = wpsg_voucher::count($this->shop->view['arFilter']);
+
+			if (wpsg_isSizedInt($_REQUEST['seite'])) $this->shop->view['arFilter']['page'] = $_REQUEST['seite'];
+
+			$this->shop->view['pages'] = ceil($this->shop->view['countAll'] / $nPerPage);
+			if ($this->shop->view['arFilter']['page'] <= 0 || $this->shop->view['arFilter']['page'] > $this->shop->view['pages']) $this->shop->view['arFilter']['page'] = 1;
+
+			$this->shop->view['arFilter']['limit'] = array(($this->shop->view['arFilter']['page'] - 1) * $nPerPage, $nPerPage);
+
+			// Filter speichern
+			$_SESSION['wpsg']['backend']['voucher']['arFilter'] = $this->shop->view['arFilter'];
+
+			$this->shop->view['arData'] = wpsg_voucher::find($this->shop->view['arFilter']);
 			
 			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_gutschein/index.phtml');
Index: /mods/wpsg_mod_kundenverwaltung.class.php
===================================================================
--- /mods/wpsg_mod_kundenverwaltung.class.php	(revision 5752)
+++ /mods/wpsg_mod_kundenverwaltung.class.php	(revision 5753)
@@ -1507,5 +1507,19 @@
 				SELECT L.`id`, L.`name` FROM `".WPSG_TBL_LAND."` AS L ORDER BY `name` ASC
 			", "id", "name");
-			
+
+			if ($this->shop->hasMod('wpsg_mod_customergroup'))
+			{
+
+				$this->shop->view['arCustomergroup'] = wpsg_array_merge(array('0' => __('Unzugeordnet', 'wpsg')), $this->db->fetchAssocField("
+					SELECT
+						KG.`id`, CONCAT(KG.`name`, ' (ID:', KG.`id`, ')') AS `name`
+					FROM
+						`".WPSG_TBL_KG."` AS KG
+					ORDER BY
+						KG.`name` ASC
+				", "id", "name"));
+
+			}
+
 			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_kundenverwaltung/edit.phtml');
 			
Index: /mods/wpsg_mod_productgroups.class.php
===================================================================
--- /mods/wpsg_mod_productgroups.class.php	(revision 5752)
+++ /mods/wpsg_mod_productgroups.class.php	(revision 5753)
@@ -67,4 +67,6 @@
 		public function init()
 		{
+
+			require_once(WPSG_PATH_MOD.'mod_productgroups/wpsg_productgroup.php');
 			
 			$role_object = get_role('administrator');
@@ -193,33 +195,5 @@
 			
 		} // public function shortcode($atts)
-		
-		/**
-		 * Integriert den Produktgruppenfilter in die Ãbersicht der Produkte (Produkte/index)
-		 */
-		public function produkt_index_filter()
-		{
-
-			$this->shop->view['productgroups'] = $this->db->fetchAssoc("					
-				SELECT 
-					(SELECT COUNT(*) FROM `".WPSG_TBL_PRODUCTS."` AS P WHERE P.`pgruppe` = PG.`id` AND P.`deleted` != '1' ".wpsg_getStr($GLOBALS['wpsg_produkt_index_query_where']).") AS countProdukte,
-					PG.*
-				FROM	
-					`".WPSG_TBL_PRODUCTS_GROUP."` AS PG
-				WHERE
-					PG.`deleted` != '1'
-				HAVING
-					countProdukte > 0
-			");
-						
-			$this->shop->view['countProducts'] = $this->db->fetchOne("SELECT COUNT(*) FROM `".WPSG_TBL_PRODUCTS."` AS P WHERE P.`deleted` != '1' AND P.`lang_parent` = 0 ");
-			
-			$this->shop->view['arSelect'] = [];
-			foreach ($this->shop->view['productgroups'] as $pg) { $this->shop->view['arSelect'][$pg['id']] = $pg['name'].' ('.$pg['countProdukte'].')'; }
-			$this->shop->view['arSelect'][0] = __('Alle', 'wpsg').' ('.$this->shop->view['countProducts'].')';
-			
-			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_productgroups/produkt_index_filter.phtml');
-			
-		} // public function produkt_index_filter()
-		
+
 		/**
 		 * Integriert den Namen der Gruppe in das Produktarray
@@ -699,5 +673,5 @@
 			$_SESSION['wpsg']['backend']['customergroup']['arFilter'] = $this->shop->view['arFilter'];
 
-			$this->shop->view['arData'] = wpsg_customergroup::find($this->shop->view['arFilter']);
+			$this->shop->view['arData'] = wpsg_productgroup::find($this->shop->view['arFilter']);
 
 			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_productgroups/index.phtml');
@@ -768,4 +742,10 @@
 			
 			$this->addeditAction();
+			$this->shop->view['data'] = array(
+				'name' => '',
+				'template_file' => '',
+				'infopage' => ''
+			);
+
 			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_productgroups/add.phtml');
 			
@@ -830,5 +810,5 @@
 			$this->shop->view['wpsg_mod_productgroups']['data'] = $productgroupdata;
 
-			if ($this->shop->view['wpsg_mod_productgroups']['data']['stock_aktiv'] == '1') { $this->shop->view['wpsg_mod_productgroups']['data']['stock_aktiv'] = true; }
+			if (wpsg_isSizedInt($this->shop->view['wpsg_mod_productgroups']['data']['stock_aktiv'])) { $this->shop->view['wpsg_mod_productgroups']['data']['stock_aktiv'] = true; }
 
 			$this->shop->render(WPSG_PATH_VIEW.'/mods/mod_productgroups/productgroups_addedit_sidebar.phtml');	
Index: /views/admin/form/input.phtml
===================================================================
--- /views/admin/form/input.phtml	(revision 5752)
+++ /views/admin/form/input.phtml	(revision 5753)
@@ -37,10 +37,22 @@
 				/>
 			<?php if (wpsg_isSizedString($this->view['field_config']['help'])) { ?>
-				<a href="#" data-wpsg-tip="<?php echo $this->view['field_config']['help']; ?>" rel="?page=wpsg-Admin&subaction=loadHelp&noheader=1&field=<?php echo $this->view['field_config']['help']; ?>" class="glyphicon glyphicon glyphicon-info-sign form-control-feedback" aria-hidden="true"></a>
+				<a href="#" a-wpsg-tip="<?php echo $this->view['field_config']['help']; ?>" rel="?page=wpsg-Admin&subaction=loadHelp&noheader=1&field=<?php echo $this->view['field_config']['help']; ?>" class="glyphicon glyphicon glyphicon-info-sign form-control-feedback" aria-hidden="true"></a>
 			<?php } ?>
 		</div>
 				
 	</div>
-	
+
+    <?php if (wpsg_isTrue($this->view['field_config']['datepicker'])) { ?>
+    <script type="text/javascript">/* <![CDATA[ */
+
+        jQuery(document).ready(function() {
+
+            jQuery('#<?php echo $this->view['field_id']; ?>').datepicker();
+
+        } );
+
+    /* ]]> */</script>
+    <?php } ?>
+
 	<div class="clearfix wpsg_clear"></div>
 	
Index: /views/css/admin.css
===================================================================
--- /views/css/admin.css	(revision 5752)
+++ /views/css/admin.css	(revision 5753)
@@ -1,2 +1,5 @@
+/* Datepicker */
+.ui-datepicker .ui-datepicker-calendar td a,.ui-datepicker a,.ui-datepicker a:hover{text-decoration:none}.ui-datepicker{background-color:#fff;border:1px solid #66AFE9;border-radius:4px;box-shadow:0 0 8px rgba(102,175,233,.6);display:none;margin-top:4px;padding:10px;width:240px}.ui-datepicker a:hover,.ui-datepicker td:hover a{color:#2A6496;-webkit-transition:color .1s ease-in-out;-moz-transition:color .1s ease-in-out;-o-transition:color .1s ease-in-out;transition:color .1s ease-in-out}.ui-datepicker .ui-datepicker-header{margin-bottom:4px;text-align:center}.ui-datepicker .ui-datepicker-title{font-weight:700}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{cursor:default;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;height:20px;line-height:1;margin-top:2px;width:30px}.ui-datepicker .ui-datepicker-prev{float:left;text-align:left}.ui-datepicker .ui-datepicker-next{float:right;text-align:right}.ui-datepicker .ui-datepicker-prev:before{content:"\e079"}.ui-datepicker .ui-datepicker-next:before{content:"\e080"}.ui-datepicker .ui-icon{display:none}.ui-datepicker .ui-datepicker-calendar{table-layout:fixed;width:100%}.ui-datepicker .ui-datepicker-calendar td,.ui-datepicker .ui-datepicker-calendar th{text-align:center;padding:4px 0}.ui-datepicker .ui-datepicker-calendar td{border-radius:4px;-webkit-transition:background-color .1s ease-in-out,color .1s ease-in-out;-moz-transition:background-color .1s ease-in-out,color .1s ease-in-out;-o-transition:background-color .1s ease-in-out,color .1s ease-in-out;transition:background-color .1s ease-in-out,color .1s ease-in-out}.ui-datepicker .ui-datepicker-calendar td:hover{background-color:#eee;cursor:pointer}.ui-datepicker .ui-datepicker-current-day{background-color:#4289cc}.ui-datepicker .ui-datepicker-current-day a{color:#fff}.ui-datepicker .ui-datepicker-calendar .ui-datepicker-unselectable:hover{background-color:#fff;cursor:default}
+
 /* Allgemein */
 .wpsg_clear { clear:both; }
@@ -126,4 +129,5 @@
 .wpsg_pic_col { width:50px; }
 .wpsg_admin_submenu input[type="submit"], .wpsg_admin_submenu input[type="button"] { width:100%; margin-bottom:10px !important; }
+#wpsg-bs.wpsg_products .wpsg_productgroup_link_wrap { float:left; }
 
 /* Bestellverwaltung */
@@ -204,4 +208,7 @@
 #wpsg_oc_list .wpsg_mod_ordercondition_text { width:100%; height:150px; }
 
+/* Modul Gutschein */
+#wpsg-bs.wpsg_voucher .col_checkbox { width:20px; }
+
 /* Modul Lieferschein */
 .wpsg_mod_deliverynote_fieldtable { font-size:12px; }
Index: /views/mods/mod_customergroup/addedit.phtml
===================================================================
--- /views/mods/mod_customergroup/addedit.phtml	(revision 5752)
+++ /views/mods/mod_customergroup/addedit.phtml	(revision 5753)
@@ -16,6 +16,6 @@
 			<div class="collapse navbar-collapse" id="bs-customergroup-navbar-collapse-1">
 				<ul class="nav navbar-nav">
-					<li role="presentation" class="wpsg-customergroup-tab-a"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Customergroup&action=index"><?php echo __("Kundengruppenverwaltung", "wpsg"); ?></a></li>
-					<li role="presentation" class="<?php echo ((wpsg_isSizedString($_REQUEST['action'], 'add'))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Customergroup&action=add"><span class="glyphicon glyphicon-plus"></span><?php echo __("HinzufÃŒgen", "wpsg"); ?></a></li>
+					<li role="presentation" class="wpsg-customergroup-tab-a active"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Customergroup&action=index"><?php echo __("Kundengruppenverwaltung", "wpsg"); ?></a></li>
+					<li role="presentation" class="<?php echo ((wpsg_isSizedString($_REQUEST['action'], 'add'))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Customergroup&action=add"><span class="glyphicon glyphicon-plus"></span><?php echo __("Kundengruppe anlegen/bearbeiten", "wpsg"); ?></a></li>
 				</ul>
 				<ul class="nav navbar-nav navbar-right">
@@ -31,5 +31,5 @@
 	<?php echo $this->writeBackendMessage(); ?>
 
-	<div class="content">
+	<div class="content form-horizontal">
 
         <form method="POST" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Customergroup&action=save&noheader=1" enctype="multipart/form-data">
Index: /views/mods/mod_customergroup/index.phtml
===================================================================
--- /views/mods/mod_customergroup/index.phtml	(revision 5752)
+++ /views/mods/mod_customergroup/index.phtml	(revision 5753)
@@ -127,5 +127,9 @@
 
         <?php } else { ?>
-            <p><?php echo __('Bisher wurden noch keine Kundengruppen angelegt.', 'wpsg'); ?></p>
+
+            <?php echo wpsg_drawForm_AdminboxStart(); ?>
+    		<?php echo __('Keine Kundengruppen in der Datenbank.', 'wpsg'); ?>
+            <?php echo wpsg_drawForm_AdminboxEnd(); ?>
+
         <?php } ?>
 
Index: /views/mods/mod_gutschein/add.phtml
===================================================================
--- /views/mods/mod_gutschein/add.phtml	(revision 5752)
+++ /views/mods/mod_gutschein/add.phtml	(revision 5753)
@@ -6,65 +6,90 @@
 
 ?>
-<div class="wrap columns-2">
-	<div class="icon32 icon32-posts-post" id="icon-edit"><br /></div>
-	<h2><?php echo __('Neuer Gutschein', 'wpsg'); ?></h2>
-	<br />
-	
+
+<div class="wpsg_voucher" id="wpsg-bs">
+
+    <nav class="navbar navbar-default">
+
+		<div class="container-fluid">
+			<div class="navbar-header">
+				<a class="navbar-brand" href="#"><?php echo __('wpShopGermany', 'wpsg'); ?></a>
+			</div>
+			<div class="collapse navbar-collapse" id="bs-customer-navbar-collapse-1">
+				<ul class="nav navbar-nav">
+					<li role="presentation" class="wpsg-voucher-tab-a active"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Voucher&action=index"><?php echo __("Gutscheinverwaltung", "wpsg"); ?></a></li>
+                    <li role="presentation" class="active"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Voucher&action=add"><span class="glyphicon glyphicon-plus"></span><?php echo __("Neuer Gutschein", "wpsg"); ?></a></li>
+				</ul>
+				<ul class="nav navbar-nav navbar-right">
+
+				</ul>
+			</div>
+		</div>
+
+    </nav>
+
+	<div class="wpsg_clear"></div>
+
 	<?php echo $this->writeBackendMessage(); ?>
-	
- 	<form method="POST" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Voucher&amp;action=save&amp;noheader=1" enctype="multipart/form-data">
 
-		<?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_value', __('Wert', 'wpsg'), $this->view['mod_gutschein']['value']); ?>
-		<?php echo wpsg_drawForm_Select('wpsg_mod_gutschein_calc', __('Berechnung', 'wpsg'), array(
-			'w' => __('Absoluter Betrag', 'wpsg'),
-			'p' => __('Prozentual', 'wpsg')
-		), $this->view['mod_gutschein']['calc']); ?>		
-		<?php echo wpsg_drawForm_Date('wpsg_mod_gutschein_start', __('GÃŒltig ab', 'wpsg'), $this->view['mod_gutschein']['start']); ?>
-		<?php echo wpsg_drawForm_Date('wpsg_mod_gutschein_end', __('GÃŒltig bis', 'wpsg'), $this->view['mod_gutschein']['end']); ?>
-		<?php echo wpsg_drawForm_Select('wpsg_mod_gutschein_gen', __('Code Generierung', 'wpsg'), array(
-			'0' => __('Automatisch', 'wpsg'),
-			'1' => __('Manuell', 'wpsg')
-		), wpsg_getStr($this->view['mod_gutschein']['gen']), array('help' => 'wpsg_mod_gutschein_gen')); ?>		
-		<div id="wpsg_mod_gutschein_layercode">
-			<?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_code', __('Code', 'wpsg'), wpsg_getStr($this->view['mod_gutschein']['code']), array('help' => 'wpsg_mod_gutschein_code')); ?>
-		</div>
-		<?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_minvalue', __('Minimaler Warenwert', 'wpsg'), wpsg_getStr($this->view['mod_gutschein']['minvalue']), array('help' => 'wpsg_mod_gutschein_minvalue')); ?>
-		<?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_count', __('Menge', 'wpsg'), $this->view['mod_gutschein']['count']); ?>		
-		<?php echo wpsg_drawForm_Checkbox('wpsg_mod_gutschein_multi', __('Mehrfach verwendbar', 'wpsg'), $this->view['mod_gutschein']['multi']); ?>
-		<?php echo wpsg_drawForm_Textarea('wpsg_mod_gutschein_comment', __('Kommentar', 'wpsg'), $this->view['mod_gutschein']['comment']); ?>
-		<?php if ($this->hasMod('wpsg_mod_productgroups') && wpsg_isSizedArray($this->view['wpsg_mod_gutschein']['arProductGroups'])) { ?>
-		<?php echo wpsg_drawForm_Select('wpsg_mod_gutschein_productgroups', __('BeschrÃ€nkung auf Produktgruppen', 'wpsg'), $this->view['wpsg_mod_gutschein']['arProductGroups'], $this->view['mod_gutschein']['productgroups'], array('multiple' => ((sizeof($this->view['wpsg_mod_gutschein']['arProductGroups']) > 5)?5:sizeof($this->view['wpsg_mod_gutschein']['arProductGroups'])), 'help' => 'wpsg_mod_gutschein_productgroups')); ?>
-		<?php } ?>
-		<?php echo wpsg_drawForm_Select('wpsg_mod_gutschein_products', __('BeschrÃ€nkung auf Produkte', 'wpsg'), $this->view['wpsg_mod_gutschein']['arProducts'], $this->view['mod_gutschein']['products'], array('multiple' => ((sizeof($this->view['wpsg_mod_gutschein']['arProducts']) > 5)?5:sizeof($this->view['wpsg_mod_gutschein']['arProducts'])), 'help' => 'wpsg_mod_gutschein_products')); ?>
-		
-		<p class="submit">
-			<input type="submit" value="<?php echo __('Gutschein anlegen', 'wpsg'); ?>" class="button-primary" id="submit" name="submit" />
-		</p>
-		
-		<script type="text/javascript">/* <![CDATA[ */
+	<div class="content form-horizontal">
 
-			jQuery(document).ready(function() {
-  
-				jQuery('#wpsg_mod_gutschein_gen').bind('change', function() {
+        <form method="POST" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Voucher&action=save&noheader=1" enctype="multipart/form-data">
 
-					if (jQuery(this).val() == '1')
-					{
+            <?php wpsg_drawForm_AdminboxStart(); ?>
+                <?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_value', __('Wert', 'wpsg'), $this->view['mod_gutschein']['value']); ?>
+                <?php echo wpsg_drawForm_Select('wpsg_mod_gutschein_calc', __('Berechnung', 'wpsg'), array(
+                    'w' => __('Absoluter Betrag', 'wpsg'),
+                    'p' => __('Prozentual', 'wpsg')
+                ), $this->view['mod_gutschein']['calc']); ?>
 
-						jQuery('#wpsg_mod_gutschein_layercode').show();
-						
-					}
-					else
-					{
+                <?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_start', __('GÃŒltig ab', 'wpsg'), $this->view['mod_gutschein']['start'], array('datepicker' => true)); ?>
+                <?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_end', __('GÃŒltig bis', 'wpsg'), $this->view['mod_gutschein']['end'], array('datepicker' => true)); ?>
+                <?php echo wpsg_drawForm_Select('wpsg_mod_gutschein_gen', __('Code Generierung', 'wpsg'), array(
+                    '0' => __('Automatisch', 'wpsg'),
+                    '1' => __('Manuell', 'wpsg')
+                ), wpsg_getStr($this->view['mod_gutschein']['gen']), array('help' => 'wpsg_mod_gutschein_gen')); ?>
+                <div id="wpsg_mod_gutschein_layercode">
+                    <?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_code', __('Code', 'wpsg'), wpsg_getStr($this->view['mod_gutschein']['code']), array('help' => 'wpsg_mod_gutschein_code')); ?>
+                </div>
+                <?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_minvalue', __('Minimaler Warenwert', 'wpsg'), wpsg_getStr($this->view['mod_gutschein']['minvalue']), array('help' => 'wpsg_mod_gutschein_minvalue')); ?>
+                <?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_count', __('Menge', 'wpsg'), $this->view['mod_gutschein']['count']); ?>
+                <?php echo wpsg_drawForm_Checkbox('wpsg_mod_gutschein_multi', __('Mehrfach verwendbar', 'wpsg'), $this->view['mod_gutschein']['multi']); ?>
+                <?php echo wpsg_drawForm_Textarea('wpsg_mod_gutschein_comment', __('Kommentar', 'wpsg'), @$this->view['mod_gutschein']['comment']); ?>
+                <?php if ($this->hasMod('wpsg_mod_productgroups') && wpsg_isSizedArray($this->view['wpsg_mod_gutschein']['arProductGroups'])) { ?>
+                <?php echo wpsg_drawForm_Select('wpsg_mod_gutschein_productgroups', __('BeschrÃ€nkung auf Produktgruppen', 'wpsg'), $this->view['wpsg_mod_gutschein']['arProductGroups'], $this->view['mod_gutschein']['productgroups'], array('multiple' => ((sizeof($this->view['wpsg_mod_gutschein']['arProductGroups']) > 5)?5:sizeof($this->view['wpsg_mod_gutschein']['arProductGroups'])), 'help' => 'wpsg_mod_gutschein_productgroups')); ?>
+                <?php } ?>
+                <?php echo wpsg_drawForm_Select('wpsg_mod_gutschein_products', __('BeschrÃ€nkung auf Produkte', 'wpsg'), @$this->view['wpsg_mod_gutschein']['arProducts'], @$this->view['mod_gutschein']['products'], array('multiple' => ((sizeof($this->view['wpsg_mod_gutschein']['arProducts']) > 5)?5:sizeof($this->view['wpsg_mod_gutschein']['arProducts'])), 'help' => 'wpsg_mod_gutschein_products')); ?>
+            <?php echo wpsg_drawForm_AdminboxEnd(); ?>
 
-						jQuery('#wpsg_mod_gutschein_layercode').hide();
-						
-					}
-					
-				} ).change();
-				
-			} );
-		
-		/* ]]> */</script>
+            <input type="submit" value="<?php echo __('Gutschein anlegen', 'wpsg'); ?>" class="button-primary" id="submit" name="submit" />
 
-	</form>
+        </form>
+
+    </div>
+
 </div>
+
+<script type="text/javascript">/* <![CDATA[ */
+
+    jQuery(document).ready(function() {
+
+        jQuery('#wpsg_mod_gutschein_gen').bind('change', function() {
+
+            if (jQuery(this).val() == '1')
+            {
+
+                jQuery('#wpsg_mod_gutschein_layercode').show();
+
+            }
+            else
+            {
+
+                jQuery('#wpsg_mod_gutschein_layercode').hide();
+
+            }
+
+        } ).change();
+
+    } );
+
+/* ]]> */</script>
Index: /views/mods/mod_gutschein/index.phtml
===================================================================
--- /views/mods/mod_gutschein/index.phtml	(revision 5752)
+++ /views/mods/mod_gutschein/index.phtml	(revision 5753)
@@ -7,366 +7,176 @@
 ?>
 
-<script type="text/javascript">/* <![CDATA[ */
+<div class="wpsg_voucher" id="wpsg-bs">
 
-		var wpsg_order = '<?php echo $this->view['filter']['order']; ?>';
-		var wpsg_ascdesc = '<?php echo $this->view['filter']['ascdesc']; ?>';
-    	
-		function wpsg_setOrder(order)
-		{
-	
-			if (order == wpsg_order)
-			{
-	
-				// Nur Richtung Ã€ndern
-				if (wpsg_ascdesc == 'asc') jQuery('#wpsg_ascdesc').val('desc');
-				else jQuery('#wpsg_ascdesc').val('asc');
-				
-			}
-			else
-			{
-	
-				jQuery('#wpsg_order').val(order);
-				jQuery('#wpsg_ascdesc').val('asc');
-				
-			}
-	 
-			jQuery('#seite').val(1);
-			jQuery('#filter_form').submit();
-			
-			return false;
-			
-		} // function wpsg_setOrder(order)
-    
-		function goPage(page)
-		{
+    <nav class="navbar navbar-default">
 
-			if (page <= 0 || page == <?php echo $this->view['page']; ?> || page > <?php echo $this->view['pages']; ?>) return;			
-			
-			jQuery('#seite').val(page);
-			
-			jQuery('#filter_form').submit();
-
-			return false;
-			
-		} // function goPage(page)
-
-		function goStatus(status)
-		{
-
-			jQuery('#status').val(status);
-			jQuery('#seite').val('1');
-
-			jQuery('#filter_form').submit();
-
-			return false;
-			
-		} // public function goStatus(status)
-
-		function wpsg_doExport()
-		{
-
-			var action_alt = jQuery('#filter_form').attr('action'); 
-
-			jQuery('#wpsg_voucher_export').val('1');
-			jQuery('#filter_form').attr('target', '_blank');
-			jQuery('#filter_form').attr('action', jQuery('#filter_form').attr('action') + '&noheader=1');
-			
-			jQuery('#filter_form').submit();			
-
-			jQuery('#filter_form').attr('action', action_alt);
-			jQuery('#filter_form').attr('target', '');
-			jQuery('#wpsg_voucher_export').val('0');
-
-			return false;
-			
-		} // function wpsg_doExport()
-		
-	/* ]]> */</script>
-
-<div class="wrap wpsg_mod_gutschein">
-	<?php /*?>
-	<div class="icon32 icon32-posts-post" id="icon-edit"><br></div>
-	<h2>
-		<?php echo __('Gutscheinverwaltung', 'wpsg'); ?>			
-		<a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Voucher&amp;action=add" class="add-new-h2"><?php echo __("HinzufÃŒgen", "wpsg"); ?></a>
-		<a href="#" onclick="return wpsg_doExport();" class="add-new-h2"><?php echo __('CSV Export', 'wpsg'); ?></a>
-		<a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Voucher&amp;action=import" class="add-new-h2"><?php echo __('CSV Import', 'wpsg'); ?></a>
-	</h2>
-	<?php */ ?>
-	
-	<nav class="navbar navbar-default">
 		<div class="container-fluid">
 			<div class="navbar-header">
 				<a class="navbar-brand" href="#"><?php echo __('wpShopGermany', 'wpsg'); ?></a>
 			</div>
-			<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+			<div class="collapse navbar-collapse" id="bs-customer-navbar-collapse-1">
 				<ul class="nav navbar-nav">
-					<li role="presentation" class="<?php echo ((!isset($_REQUEST['action']))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt"><?php echo __("Gutscheinverwaltung", "wpsg"); ?></a></li>
-					<li role="presentation" class="wpsg_showhide_filter <?php echo (($this->view['hasFilter'] === true)?'active':''); ?>"><a href="#" onclick="return false;"><span class="glyphicon glyphicon-search"></span><?php echo __("Gutscheinsuche", "wpsg"); ?></a></li>
-			 		<li role="presentation" class="<?php echo ((wpsg_isSizedString($_REQUEST['action'], 'add'))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&action=add"><span class="glyphicon glyphicon-plus"></span><?php echo __("HinzufÃŒgen", "wpsg"); ?></a></li>
+					<li role="presentation" class="wpsg-voucher-tab-a active"><a href="#" onclick="return false;"><?php echo __("Gutscheinverwaltung", "wpsg"); ?></a></li>
+					<li role="presentation" class="wpsg-voucher-tab-a wpsg_showhide_filter <?php echo (($this->view['hasFilter'])?'active':''); ?>" id="wpsg-voucher-tab-0"><a href="#" onclick="return false;"><span class="glyphicon glyphicon-search"></span><?php echo __("Suche", "wpsg"); ?></a></li>
+                    <li role="presentation" class="<?php echo ((wpsg_isSizedString($_REQUEST['action'], 'add'))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Voucher&action=add"><span class="glyphicon glyphicon-plus"></span><?php echo __("HinzufÃŒgen", "wpsg"); ?></a></li>
 				</ul>
 				<ul class="nav navbar-nav navbar-right">
-					<li role="presentation" class="<?php echo ((wpsg_isSizedString($_REQUEST['action'], 'import'))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&action=import&noheader=1"><span class="glyphicon glyphicon-import"></span><?php echo __("Import", "wpsg"); ?></a></li>
-					<?php if (wpsg_isSizedArray($this->view['data'])) { ?>
-					<li role="presentation" class="<?php echo ((wpsg_isSizedString($_REQUEST['action'], 'export'))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&action=export&noheader=1"><span class="glyphicon glyphicon-export"></span><?php echo __("Export", "wpsg"); ?></a></li>
-					<?php } ?>			
-			 	</ul>			 	
+                    <li role="presentation" class="<?php echo ((wpsg_isSizedString($_REQUEST['action'], 'import'))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Voucher&action=import&noheader=1"><span class="glyphicon glyphicon-import"></span><?php echo __("Import", "wpsg"); ?></a></li>
+					<?php if (wpsg_isSizedArray($this->view['arData'])) { ?>
+					<li role="presentation" class="<?php echo ((wpsg_isSizedString($_REQUEST['action'], 'export'))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Voucher&action=export&noheader=1"><span class="glyphicon glyphicon-export"></span><?php echo __("Export", "wpsg"); ?></a></li>
+					<?php } ?>
+				</ul>
 			</div>
 		</div>
-		<div class="wpsg-filter container-fluid form-horizontal" style="display:<?php echo (($this->view['hasFilter'] === true)?'block':'none'); ?>;">
-			<div class="row">
+
+        <div class="wpsg-filter wpsg-customer-tab wpsg-voucher-tab-0 container-fluid form-horizontal" style="display:<?php echo (($this->view['hasFilter'] === true)?'block':'none'); ?>;">
+            <div class="row">
 				<div class="col-lg-4">
 					<form method="post" id="filter_form">
-					
-						<input id="wpsg_seite" type="hidden" name="seite" value="<?php echo $this->view['seite']; ?>" class="current-page" />
-						<input id="wpsg_ascdesc" type="hidden" name="search[ascdesc]" value="<?php echo $this->view['search']['ascdesc']; ?>" />
-										
-						<?php echo wpsg_drawForm_Input('s', __('Suchfeld', 'wpsg'), wpsg_getStr($_REQUEST['s'])); ?>
-						
-						<?php echo wpsg_drawForm_SubmitButton(__('Gutschein suchen')); ?>
-						
-					</form>				
+
+						<input id="wpsg_seite" type="hidden" name="filter[page]" value="<?php echo @$this->view['page']; ?>" class="current-page" />
+                        <input id="wpsg_order" type="hidden" name="filter[order]" value="<?php echo @$this->view['arFilter']['order']; ?>" />
+						<input id="wpsg_ascdesc" type="hidden" name="filter[ascdesc]" value="<?php echo @$this->view['arFilter']['ascdesc']; ?>" />
+
+						<?php echo wpsg_drawForm_Input('filter[s]', __('Suchfeld', 'wpsg'), wpsg_getStr($this->view['arFilter']['s'])); ?>
+
+						<?php echo wpsg_drawForm_SubmitButton(__('Gutscheine suchen')); ?><br />
+
+					</form>
 				</div>
-			</div>		
-		</div>
-	</nav> 
-	
+			</div>
+        </div>
+
+    </nav>
+
+    <?php if ($this->view['pages'] > 1) { ?>
+        <nav class="pagination_wrap">
+            <ul class="pagination">
+                <?php if ($this->view['arFilter']['page'] > 1) { ?>
+                    <li><a onclick="return goPage(<?php echo $this->view['arFilter']['page'] - 1; ?>);" href="#" aria-label="<?php echo __('Vorherige Seite'); ?>"><span aria-hidden="true">&laquo;</span></a></li>
+                <?php } ?>
+                <?php for ($i = 1; $i <= $this->view['pages']; $i ++) { ?>
+                    <li class="<?php echo (($i == $this->view['arFilter']['page'])?'active':''); ?>"><a onclick="return goPage(<?php echo $i; ?>);" href="#"><?php echo $i; ?></a></li>
+                <?php } ?>
+                <?php if ($this->view['arFilter']['page'] + 1 <= $this->view['pages']) { ?>
+                    <li><a onclick="return goPage(<?php echo $this->view['arFilter']['page'] + 1; ?>);" href="#" aria-label="<?php echo __('NÃ€chste Seite'); ?>"><span aria-hidden="true">&raquo;</span></a></li>
+                <?php } ?>
+            </ul>
+        </nav>
+	<?php } ?>
+
+	<div class="wpsg_clear"></div>
+
 	<?php echo $this->writeBackendMessage(); ?>
-	
-	<form method="POST" id="filter_form" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Voucher">
-		
-		<input type="hidden" name="wpsg_status" id="status" value="<?php echo @$this->view['filter']['status']; ?>" />
-		<input type="hidden" name="wpsg_voucher_export" value="0" id="wpsg_voucher_export" />
 
-		<input id="wpsg_order" type="hidden" name="filter[order]" value="<?php echo $this->view['filter']['order']; ?>" />
-		<input id="wpsg_ascdesc" type="hidden" name="filter[ascdesc]" value="<?php echo $this->view['filter']['ascdesc']; ?>" />
-		
-		<?php if (wpsg_isSizedArray($this->view['arStatus'])) { ?>		
-		<ul class="subsubsub wpsg_order_index_status">
-			<?php foreach ($this->view['arStatus'] as $status_id => $status) { ?>
-			<li>
-				<?php if (isset($this->view['filter']['status']) && $this->view['filter']['status'] == $status_id) { ?>
-				<span class="akt"><?php echo wpsg_hspc($status[0]); ?></span> <span class="count">(<?php echo $status[1]; ?>) | </span>
-				<?php } else { ?>
-				<a onclick="return goStatus(<?php echo $status_id; ?>);" href="#"><?php echo wpsg_hspc($status[0]); ?> <span class="count">(<?php echo $status[1]; ?>)</span></a> |
-				<?php } ?>
-			</li>			 
-			<?php } ?>
-			<li>
-				<?php if (!isset($this->view['filter']['status']) || $this->view['filter']['status'] <= 0) { ?>
-				<span class="akt"><?php echo __('Alle', 'wpsg'); ?></span> <span class="count">(<?php echo $this->view['countAll']; ?>)</span>
-				<?php } else { ?>
-				<a onclick="return goStatus(0);" href="#"><?php echo __('Alle', 'wpsg'); ?> <span class="count">(<?php echo $this->view['countAll']; ?>)</span></a>
-				<?php } ?>
-			</li>
-		</ul>
-		<?php } ?>
-		
-		<p class="search-box wpsg-search-box">
-			<label for="post-search-input" class="screen-reader-text"><?php echo __('Gutscheine suchen', 'wpsg'); ?>:</label>
-			<input type="text" value="<?php echo wpsg_hspc($this->view['filter']['search']); ?>" id="wpsg_search" name="wpsg_search" id="post-search-input" />
-			<input type="submit" value="<?php echo __('Gutscheine suchen', 'wpsg'); ?>" class="button" id="search-submit" name="search-submit" />
-		</p>
-		
-		<?php if (sizeof($this->view['data'] > 0)) { ?>
-		<div class="tablenav top">
-			<div class="tablenav-pages tablenav-pages-wrap"><span class="displaying-num"><?php echo wpsg_translate(__('#1# Elemente', 'wpsg'), $this->view['count']); ?></span>
-				<div class="tablenav-pages">	
-					<span class="pagination-links">
-						<a onclick="return goPage(1);" href="#" title="<?php echo __('Zur ersten Seite gehen', 'wpsg'); ?>" class="first-page <?php echo (($this->view['page'] == '1')?'disabled':''); ?>">Â«</a>
-						<a onclick="return goPage(<?php echo $this->view['page'] - 1; ?>);" href="#" title="<?php echo __('Zur vorherigen Seite gehen', 'wpsg'); ?>" class="prev-page <?php echo (($this->view['page'] <= 1)?'disabled':''); ?>">â¹</a>
-						<span class="paging-input"><input type="text" size="1" value="<?php echo $this->view['page']; ?>" id="seite" name="seite" title="<?php echo __('Aktuelle Seite', 'wpsg'); ?>" class="current-page"> <?php echo __('von', 'wpsg'); ?> <span class="total-pages"><?php echo $this->view['pages']; ?></span></span>
-						<a onclick="return goPage(<?php echo $this->view['page'] + 1; ?>);" href="#" title="<?php echo __('Zur nÃ€chsten Seite gehen', 'wpsg'); ?>" class="next-page <?php echo (($this->view['page'] >= $this->view['pages'])?'disabled':''); ?>">âº</a>
-						<a onclick="return goPage(<?php echo $this->view['pages']; ?>);" href="#" title="<?php echo __('Zur letzten Seite gehen', 'wpsg'); ?>" class="last-page <?php echo (($this->view['page'] == $this->view['pages'])?'disabled':''); ?>">Â»</a>
-					</span>
-				</div>
-				
-				<script type="text/javascript">/* <![CDATA[ */
+	<div class="content">
 
-					jQuery('.tablenav-pages .disabled').bind('click', function() { return false; } );
-				
-				/* ]]> */</script>
-				
-				<br class="wpsg_clear">
-			</div>
-		</div>
-		<?php } ?>
-		
-	</form> 
-	
-	<form method="POST" id="#gs_form" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Voucher&noheader=1">
-			 
-		<?php if (is_array($this->view['data']) && sizeof($this->view['data']) > 0) { ?>
-		<table class="widefat post fixed vouchertable">
-			<thead>
-				<tr>
-					<th class="manage-column column-checkbox"><input title="<?php echo __("Alle markieren", "wpsg"); ?>" type="checkbox" onclick="markAll(this);"/></th>
-					<th class="manage-column column-nr <?php echo (($this->view['filter']['order'] == 'id')?'sorted':'sortable'); ?> <?php echo (($this->view['filter']['ascdesc'] == 'asc')?'asc':'desc'); ?>">
-						<a href="#" onclick="return wpsg_setOrder('id');">
-							<span><?php echo __("ID", 'wpsg'); ?></span>
-							<span class="sorting-indicator"></span>
-						</a>
-					</th>
-					<th class="manage-column column-code <?php echo (($this->view['filter']['order'] == 'code')?'sorted':'sortable'); ?> <?php echo (($this->view['filter']['ascdesc'] == 'asc')?'asc':'desc'); ?>">
-						<a href="#" onclick="return wpsg_setOrder('code');">
-							<span><?php echo __("Code", 'wpsg'); ?></span>
-							<span class="sorting-indicator"></span>
-						</a>
-					</th>
-					<th class="manage-column column-start <?php echo (($this->view['filter']['order'] == 'start_date')?'sorted':'sortable'); ?> <?php echo (($this->view['filter']['ascdesc'] == 'asc')?'asc':'desc'); ?>">
-						<a href="#" onclick="return wpsg_setOrder('start_date');">
-							<span><?php echo __("Start", 'wpsg'); ?></span>
-							<span class="sorting-indicator"></span>
-						</a> 
-					</th>
-					<th class="manage-column column-end <?php echo (($this->view['filter']['order'] == 'end_date')?'sorted':'sortable'); ?> <?php echo (($this->view['filter']['ascdesc'] == 'asc')?'asc':'desc'); ?>">
-						<a href="#" onclick="return wpsg_setOrder('end_date');">
-							<span><?php echo __("End", 'wpsg'); ?></span>
-							<span class="sorting-indicator"></span>
-						</a> 
-					</th>				
-					<th class="manage-column column-value <?php echo (($this->view['filter']['order'] == 'value')?'sorted':'sortable'); ?> <?php echo (($this->view['filter']['ascdesc'] == 'asc')?'asc':'desc'); ?>">
-						<a href="#" onclick="return wpsg_setOrder('value');">
-							<span><?php echo __("Wert", 'wpsg'); ?></span>
-							<span class="sorting-indicator"></span>
-						</a>
-					</th>
-					<th class="manage-column column-status <?php echo (($this->view['filter']['order'] == 'status')?'sorted':'sortable'); ?> <?php echo (($this->view['filter']['ascdesc'] == 'asc')?'asc':'desc'); ?>">
-						<a href="#" onclick="return wpsg_setOrder('status');">
-							<span><?php echo __("Status", 'wpsg'); ?></span>
-							<span class="sorting-indicator"></span>
-						</a> 
-					</th>
-				</tr>
-			</thead>
-			<tbody>
-				<?php foreach ($this->view['data'] as $g) { ?>
-				<tr>
-					<td class="column-checkbox"><input type="checkbox" value="<?php echo $g['id']; ?>"  class="wpsg_mod_gs_cb" name="wpsg_gs_cb[]" /></td>
-					<td class="column-nr"><?php echo wpsg_hspc($g['id']); ?>.</td>
-					<td class="column-code"><?php echo wpsg_hspc($g['code']); ?></td>
-					<td class="column-start"><?php echo date('d.m.Y H:i', strtotime($g['start_date'])); ?></td>
-					<td class="column-end"><?php echo date('d.m.Y H:i', strtotime($g['end_date'])); ?></td>
-					<td class="column-value">
-						<?php if ($g['calc_typ'] == 'w') { ?>
-							<?php echo wpsg_ff($g['value'], $this->get_option('wpsg_currency')); ?>
-						<?php } else { ?>
-							<?php echo wpsg_ff($g['value'], '%'); ?>
-						<?php } ?> 
-						<?php if (wpsg_tf($g['minvalue']) > 0) { ?>
-						<br /><div class="wpsg_hinweis"><?php echo wpsg_translate(__('Ab #1#', 'wpsg'), wpsg_ff(wpsg_tf($g['minvalue']), $this->get_option('wpsg_currency'))); ?></div>
-						<?php } ?>
-					</td>
-					<td class="column-status">
-						<?php if (trim($g['comment']) != '') { ?>
-						<a href="#" style="cursor:default;" title="<?php echo wpsg_hspc($g['comment']); ?>">
-							<img src="<?php echo WPSG_URL_CONTENT; ?>plugins/<?php echo WPSG_FOLDERNAME; ?>/views/gfx/comment.png" alt="<?php echo wpsg_hspc($g['comment']); ?>" />
-						</a>
-						<?php } ?>
-						<?php echo wpsg_hspc($g['status']); ?>
-						<?php if ($g['multi'] == '1') { ?> 
-						<?php if ($g['ordered'] > 0) { ?>
-						<?php echo wpsg_translate(__('#1# mal benutzt', 'wpsg'), $g['ordered']); ?>
-						<?php } ?>
-						<span class="wpsg_mod_gutschein_multi">&nbsp;<a class="tooltip" href="#" onclick="return false;" title="<?php echo __('Mehrfach benutzbar', 'wpsg'); ?>">[M]</a></span>
-						<?php } ?>						
-					</td>
-				</tr>
-				<?php } ?>
-			</tbody>
-			<tfoot>
-				<tr>
-					<th class="manage-column column-checkbox"><input title="<?php echo __("Alle markieren", "wpsg"); ?>" type="checkbox" onclick="markAll(this);"/></th>
-					<th class="manage-column column-nr <?php echo (($this->view['filter']['order'] == 'id')?'sorted':'sortable'); ?> <?php echo (($this->view['filter']['ascdesc'] == 'asc')?'asc':'desc'); ?>">
-						<a href="#" onclick="return wpsg_setOrder('id');">
-							<span><?php echo __("ID", 'wpsg'); ?></span>
-							<span class="sorting-indicator"></span>
-						</a>
-					</th>
-					<th class="manage-column column-code <?php echo (($this->view['filter']['order'] == 'code')?'sorted':'sortable'); ?> <?php echo (($this->view['filter']['ascdesc'] == 'asc')?'asc':'desc'); ?>">
-						<a href="#" onclick="return wpsg_setOrder('code');">
-							<span><?php echo __("Code", 'wpsg'); ?></span>
-							<span class="sorting-indicator"></span>
-						</a>
-					</th>
-					<th class="manage-column column-start <?php echo (($this->view['filter']['order'] == 'start_date')?'sorted':'sortable'); ?> <?php echo (($this->view['filter']['ascdesc'] == 'asc')?'asc':'desc'); ?>">
-						<a href="#" onclick="return wpsg_setOrder('start_date');">
-							<span><?php echo __("Start", 'wpsg'); ?></span>
-							<span class="sorting-indicator"></span>
-						</a> 
-					</th>
-					<th class="manage-column column-end <?php echo (($this->view['filter']['order'] == 'end_date')?'sorted':'sortable'); ?> <?php echo (($this->view['filter']['ascdesc'] == 'asc')?'asc':'desc'); ?>">
-						<a href="#" onclick="return wpsg_setOrder('end_date');">
-							<span><?php echo __("End", 'wpsg'); ?></span>
-							<span class="sorting-indicator"></span>
-						</a> 
-					</th>				
-					<th class="manage-column column-value <?php echo (($this->view['filter']['order'] == 'value')?'sorted':'sortable'); ?> <?php echo (($this->view['filter']['ascdesc'] == 'asc')?'asc':'desc'); ?>">
-						<a href="#" onclick="return wpsg_setOrder('value');">
-							<span><?php echo __("Wert", 'wpsg'); ?></span>
-							<span class="sorting-indicator"></span>
-						</a>
-					</th>
-					<th class="manage-column column-status <?php echo (($this->view['filter']['order'] == 'status')?'sorted':'sortable'); ?> <?php echo (($this->view['filter']['ascdesc'] == 'asc')?'asc':'desc'); ?>">
-						<a href="#" onclick="return wpsg_setOrder('status');">
-							<span><?php echo __("Status", 'wpsg'); ?></span>
-							<span class="sorting-indicator"></span>
-						</a> 
-					</th>
-				</tr>
-			</tfoot> 
-		</table>
-		
-		<div class="tablenav top">
-			<div class="tablenav-pages"><span class="displaying-num"><?php echo wpsg_translate(__('#1# Elemente', 'wpsg'), $this->view['count']); ?></span>
-				<div class="tablenav-pages">	
-					<span class="pagination-links">
-						<a onclick="return goPage(1);" href="#" title="<?php echo __('Zur ersten Seite gehen', 'wpsg'); ?>" class="first-page <?php echo (($this->view['page'] == '1')?'disabled':''); ?>">Â«</a>
-						<a onclick="return goPage(<?php echo $this->view['page'] - 1; ?>);" href="#" title="<?php echo __('Zur vorherigen Seite gehen', 'wpsg'); ?>" class="prev-page <?php echo (($this->view['page'] <= 1)?'disabled':''); ?>">â¹</a>
-						<span class="paging-input"><input type="text" size="1" value="<?php echo $this->view['page']; ?>" id="seite" name="seite" title="<?php echo __('Aktuelle Seite', 'wpsg'); ?>" class="current-page"> <?php echo __('von', 'wpsg'); ?> <span class="total-pages"><?php echo $this->view['pages']; ?></span></span>
-						<a onclick="return goPage(<?php echo $this->view['page'] + 1; ?>);" href="#" title="<?php echo __('Zur nÃ€chsten Seite gehen', 'wpsg'); ?>" class="next-page <?php echo (($this->view['page'] >= $this->view['pages'])?'disabled':''); ?>">âº</a>
-						<a onclick="return goPage(<?php echo $this->view['pages']; ?>);" href="#" title="<?php echo __('Zur letzten Seite gehen', 'wpsg'); ?>" class="last-page <?php echo (($this->view['page'] == $this->view['pages'])?'disabled':''); ?>">Â»</a>
-					</span>
-				</div>
-				
-				<script type="text/javascript">/* <![CDATA[ */
+        <?php if (is_array($this->view['arData']) && sizeof($this->view['arData']) > 0) { ?>
 
-					jQuery('.tablenav-pages .disabled').bind('click', function() { return false; } );
-				
-				/* ]]> */</script>
-				
-				<br class="wpsg_clear">
-			</div>
-		</div>
-	  	  
-		<input class="button-primary" type="submit" onclick="if (!confirm('<?php echo __('Sind Sie sich sicher?', 'wpsg'); ?>')) return false;" name="wpshopgermany-submit-gs_del" value="<?php echo __("alle markierten Gutscheine lÃ¶schen", "wpsg"); ?>" />&nbsp;
-		<br /><br />		
-		<?php } else { ?>
-		<p><?php echo __('Keine Gutscheine in der Datenbank.', 'wpsg'); ?></p>					
-		<?php } ?>
-	
-	</form>
+            <form method="POST" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Voucher&action=index&noheader=1">
+                <table class="table wpsg-table-order table-bordered table-hover table-striped wpsg-table-customer">
+                    <thead>
+                        <tr>
+                            <th class="col_checkbox"><input type="checkbox" onclick="jQuery('.col_set_checkbox').each(function() { jQuery(this).prop('checked', !jQuery(this).prop('checked')); } );" /></th>
+                            <th class="wpsg_order col_code" data-order="code"><?php echo __("Code", 'wpsg'); ?></th>
+                            <th class="wpsg_order col_start" data-order="start_date"><?php echo __("Start", 'wpsg'); ?></th>
+                            <th class="wpsg_order col_end" data-order="end_date"><?php echo __("Ende", 'wpsg'); ?></th>
+                            <th class="wpsg_order col_value" data-order="value"><?php echo __("Wert", 'wpsg'); ?></th>
+                            <th class="wpsg_order col_status" data-order="status"><?php echo __("Status", 'wpsg'); ?></th>
+                        </tr>
+                    </thead>
+                    <tbody>
+                        <?php foreach ($this->view['arData'] as $oVoucher) { ?>
+                        <tr>
+                            <td class="col_checkbox">
+
+                                <input class="col_set_checkbox" value="<?php echo $oVoucher->id; ?>" name="wpsg_multido[]" type="checkbox" />
+
+                            </td>
+                            <td class="col_code"><?php echo $oVoucher->code; ?></td>
+                            <td class="col_start"><?php echo wpsg_formatTimestamp($oVoucher->start_date); ?></td>
+                            <td class="col_end"><?php echo wpsg_formatTimestamp($oVoucher->end_date); ?></td>
+                            <td class="col_value"><?php
+
+                                if ($oVoucher->calc_typ == 'w') echo wpsg_ff($oVoucher->value, $this->get_option('wpsg_currency'));
+                                else if ($oVoucher->calc_typ == 'p') echo wpsg_ff($oVoucher->value, '%');
+
+                            ?></td>
+                            <td class="col_status">
+
+                                <?php $comment = $oVoucher->comment; if (wpsg_isSizedString($comment)) { ?>
+                                <a title="<?php echo __("Kommentar (Admin): ", "wpsg").htmlspecialchars($comment); ?>" onclick="return false;" class="glyphicon glyphicon-info-sign admincomment" href="#"></a>
+                                <?php } ?>
+
+                                <?php echo $oVoucher->getStatusLabel(); ?>
+
+                                <?php $used = $oVoucher->getUsed(); if (wpsg_isSizedInt($used)) { ?>
+                                <?php echo wpsg_translate(__('#1# mal benutzt.', 'wpsg'), $used); ?>
+                                <?php } ?>
+
+                                <?php if ($oVoucher->multi === '1') { ?>
+                                <span title="<?php echo __('Mehrfach benutzbar', 'wpsg'); ?>">&nbsp;[M]</span>
+                                <?php } ?>
+
+                            </td>
+                        </tr>
+                        <?php } ?>
+                    </tbody>
+                </table>
+
+                 <div class="alignleft actions">
+
+                    <input onclick="if (!confirm('<?php echo __('Sind Sie sich sicher?', 'wpsg'); ?>')) return false;" type="submit" value="<?php echo __('Markierte Gutscheine lÃ¶schen', 'wpsg'); ?>" class="button-secondary action" id="doaction" name="submit-multidelete" />
+
+                </div>
+
+            </div>
+
+            <?php if ($this->view['pages'] > 1) { ?>
+                <nav class="pagination_wrap pagination_wrap_bottom">
+                    <ul class="pagination">
+                        <?php if ($this->view['arFilter']['page'] > 1) { ?>
+                            <li><a onclick="return goPage(<?php echo $this->view['arFilter']['page'] - 1; ?>);" href="#" aria-label="<?php echo __('Vorherige Seite'); ?>"><span aria-hidden="true">&laquo;</span></a></li>
+                        <?php } ?>
+                        <?php for ($i = 1; $i <= $this->view['pages']; $i ++) { ?>
+                            <li class="<?php echo (($i == $this->view['arFilter']['page'])?'active':''); ?>"><a onclick="return goPage(<?php echo $i; ?>);" href="#"><?php echo $i; ?></a></li>
+                        <?php } ?>
+                        <?php if ($this->view['arFilter']['page'] + 1 <= $this->view['pages']) { ?>
+                            <li><a onclick="return goPage(<?php echo $this->view['arFilter']['page'] + 1; ?>);" href="#" aria-label="<?php echo __('NÃ€chste Seite'); ?>"><span aria-hidden="true">&raquo;</span></a></li>
+                        <?php } ?>
+                    </ul>
+                </nav>
+            <?php } ?>
+
+        <?php } else { ?>
+
+            <?php echo wpsg_drawForm_AdminboxStart(); ?>
+    		<?php echo __('Keine Gutscheine in der Datenbank.', 'wpsg'); ?>
+            <?php echo wpsg_drawForm_AdminboxEnd(); ?>
+
+        <?php } ?>
+
+    </div>
+
 </div>
 
 <script type="text/javascript">/* <![CDATA[ */
 
-	function markAll(el)
+    <?php if (wpsg_isSizedString($this->view['arFilter']['order']) && wpsg_isSizedString($this->view['arFilter']['ascdesc'])) { ?>
+    jQuery('th[data-order="<?php echo $this->view['arFilter']['order']; ?>"]').addClass('wpsg_order_<?php echo strtolower($this->view['arFilter']['ascdesc']); ?>');
+    <?php } ?>
+
+	function goPage(page)
 	{
 
-		var arCB = jQuery(".wpsg_mod_gs_cb");
+		if (page <= 0 || page == <?php echo $this->view['arFilter']['page']; ?> || page > <?php echo $this->view['pages']; ?>) return;
 
-		for (var i = 0; i < arCB.length; i ++)
-		{
-			if (el.checked)
-			{
-				jQuery(arCB[i]).attr('checked', true);
-			}
-			else
-			{
-				jQuery(arCB[i]).attr('checked', false);
-			}
-		}
-					
-	} // function markAll(el)
+		jQuery('#wpsg_seite').val(page);
+		jQuery('#filter_form').submit();
+
+		return false;
+
+	} // function goPage(page)
+
 
 /* ]]> */</script>
Index: /views/mods/mod_gutschein/settings_edit.phtml
===================================================================
--- /views/mods/mod_gutschein/settings_edit.phtml	(revision 5752)
+++ /views/mods/mod_gutschein/settings_edit.phtml	(revision 5753)
@@ -6,4 +6,4 @@
 
 ?>
-<?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_size', __('LÃ€nge der Gutscheincodes', 'wpsg'), $this->get_option('wpsg_mod_gutschein_size'), array ('help' => wpsg_mod_gutschein_size)); ?>
+<?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_size', __('LÃ€nge der Gutscheincodes', 'wpsg'), $this->get_option('wpsg_mod_gutschein_size'), array ('help' => 'wpsg_mod_gutschein_size')); ?>
 <?php echo wpsg_drawForm_Input('wpsg_mod_gutschein_perPage', __('Gutscheine pro Seite (Backend)', 'wpsg'), $this->get_option('wpsg_mod_gutschein_perPage'), array ('help' => 'wpsg_mod_gutschein_perPage')); ?>
Index: /views/mods/mod_kundenverwaltung/edit.phtml
===================================================================
--- /views/mods/mod_kundenverwaltung/edit.phtml	(revision 5752)
+++ /views/mods/mod_kundenverwaltung/edit.phtml	(revision 5753)
@@ -17,5 +17,5 @@
 				<ul class="nav navbar-nav">
 					<li role="presentation" class="wpsg-customer-tab-a active"><a href="#" onclick="return false;"><?php echo __("Kundenverwaltung", "wpsg"); ?></a></li>
-					<li role="presentation" class="<?php echo ((wpsg_isSizedString($_REQUEST['action'], 'add'))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Customer&action=add"><span class="glyphicon glyphicon-plus"></span><?php echo __("HinzufÃŒgen", "wpsg"); ?></a></li>
+					<li role="presentation" class="active"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Customer&action=add"><span class="glyphicon glyphicon-plus"></span><?php echo __("Kunde anlegen/bearbeiten", "wpsg"); ?></a></li>
 				</ul>
 				<ul class="nav navbar-nav navbar-right">
@@ -42,26 +42,26 @@
 
 					<?php echo wpsg_drawForm_AdminboxStart(__('Allgemein', 'wpsg')); ?>
-                        <?php echo wpsg_drawForm_Input('knr', __('Kundennummer', 'wpsg'), $this->view['data']['knr']); ?>
+                        <?php echo wpsg_drawForm_Input('knr', __('Kundennummer', 'wpsg'), @$this->view['data']['knr']); ?>
 
                         <?php if ($this->hasMod('wpsg_mod_customergroup')) { ?>
-                            <?php echo wpsg_drawForm_Select('group_id', __('Kundengruppe', 'wpsg'), $this->view['arCustomergroup'], $this->view['data']['group_id']); ?>
+                            <?php echo wpsg_drawForm_Select('group_id', __('Kundengruppe', 'wpsg'), @$this->view['arCustomergroup'], @$this->view['data']['group_id']); ?>
                         <?php } ?>
 
-                        <?php echo wpsg_drawForm_Select('title', __('Anrede', 'wpsg'), $this->view['arTitles'], $this->view['data']['title'], array('noIndex' => true)); ?>
-                        <?php echo wpsg_drawForm_Input('name', __('Name', 'wpsg'), $this->view['data']['name']); ?>
-                        <?php echo wpsg_drawForm_Input('vname', __('Vorname', 'wpsg'), $this->view['data']['vname']); ?>
-                        <?php echo wpsg_drawForm_Input('geb', __('Geburtsdatum', 'wpsg'), wpsg_formatTimestamp(strtotime($this->view['data']['geb']), true), array('datepicker' => true, 'hint' => __('Format: TT.MM.JJJJ', 'wpsg'))); ?>
-                        <?php echo wpsg_drawForm_Input('email', __('E-Mail', 'wpsg'), $this->view['data']['email']); ?>
-                        <?php echo wpsg_drawForm_Input('firma', __('Firma', 'wpsg'), $this->view['data']['firma']); ?>
-                        <?php echo wpsg_drawForm_Input('tel', __('Telefon', 'wpsg'), $this->view['data']['tel']); ?>
-                        <?php echo wpsg_drawForm_Input('fax', __('Fax', 'wpsg'), $this->view['data']['fax']); ?>
-                        <?php echo wpsg_drawForm_Input('strasse', __('StraÃe', 'wpsg'), $this->view['data']['strasse']); ?>
-                        <?php echo wpsg_drawForm_Input('plz', __('PLZ', 'wpsg'), $this->view['data']['plz']); ?>
-                        <?php echo wpsg_drawForm_Input('ort', __('Ort', 'wpsg'), $this->view['data']['ort']); ?>
-                        <?php echo wpsg_drawForm_Select('land', __('Land', 'wpsg'), $this->view['arLand'], $this->view['data']['land']); ?>
-                        <?php echo wpsg_drawForm_Input('ustidnr', __('UStIdNr.', 'wpsg'), $this->view['data']['ustidnr']); ?>
-                        <?php echo wpsg_drawForm_Select('status', __('Status', 'wpsg'), array('inaktiv', 'aktiv'), $this->view['data']['status'], array()); ?>
+                        <?php echo wpsg_drawForm_Select('title', __('Anrede', 'wpsg'), $this->view['arTitles'], @$this->view['data']['title'], array('noIndex' => true)); ?>
+                        <?php echo wpsg_drawForm_Input('name', __('Name', 'wpsg'), @$this->view['data']['name']); ?>
+                        <?php echo wpsg_drawForm_Input('vname', __('Vorname', 'wpsg'), @$this->view['data']['vname']); ?>
+                        <?php echo wpsg_drawForm_Input('geb', __('Geburtsdatum', 'wpsg'), wpsg_formatTimestamp(strtotime(@$this->view['data']['geb']), true), array('datepicker' => true, 'hint' => __('Format: TT.MM.JJJJ', 'wpsg'))); ?>
+                        <?php echo wpsg_drawForm_Input('email', __('E-Mail', 'wpsg'), @$this->view['data']['email']); ?>
+                        <?php echo wpsg_drawForm_Input('firma', __('Firma', 'wpsg'), @$this->view['data']['firma']); ?>
+                        <?php echo wpsg_drawForm_Input('tel', __('Telefon', 'wpsg'), @$this->view['data']['tel']); ?>
+                        <?php echo wpsg_drawForm_Input('fax', __('Fax', 'wpsg'), @$this->view['data']['fax']); ?>
+                        <?php echo wpsg_drawForm_Input('strasse', __('StraÃe', 'wpsg'), @$this->view['data']['strasse']); ?>
+                        <?php echo wpsg_drawForm_Input('plz', __('PLZ', 'wpsg'), @$this->view['data']['plz']); ?>
+                        <?php echo wpsg_drawForm_Input('ort', __('Ort', 'wpsg'), @$this->view['data']['ort']); ?>
+                        <?php echo wpsg_drawForm_Select('land', __('Land', 'wpsg'), @$this->view['arLand'], @$this->view['data']['land']); ?>
+                        <?php echo wpsg_drawForm_Input('ustidnr', __('UStIdNr.', 'wpsg'), @$this->view['data']['ustidnr']); ?>
+                        <?php echo wpsg_drawForm_Select('status', __('Status', 'wpsg'), array('inaktiv', 'aktiv'), @$this->view['data']['status'], array()); ?>
                         <?php echo wpsg_drawForm_Checkbox('info-mail', __('Mail bei StatusÃ€nderung', 'wpsg'), '', array()); ?>
-                        <?php echo wpsg_drawForm_Textarea('comment', __('Kundenkommentar', 'wpsg'), $this->view['data']['comment']); ?>
+                        <?php echo wpsg_drawForm_Textarea('comment', __('Kundenkommentar', 'wpsg'), @$this->view['data']['comment']); ?>
 					<?php echo wpsg_drawForm_AdminboxEnd(); ?>
 
@@ -141,5 +141,5 @@
 			</div>
 
-            <?php if ($_REQUEST['edit_id'] > 0) { ?>
+            <?php if (@$_REQUEST['edit_id'] > 0) { ?>
                 <input type="hidden" name="edit_id" value="<?php echo $_REQUEST['edit_id']; ?>" />
             <?php } ?>
Index: /views/mods/mod_kundenverwaltung/index.phtml
===================================================================
--- /views/mods/mod_kundenverwaltung/index.phtml	(revision 5752)
+++ /views/mods/mod_kundenverwaltung/index.phtml	(revision 5753)
@@ -17,5 +17,5 @@
 				<ul class="nav navbar-nav">
 					<li role="presentation" class="wpsg-customer-tab-a active"><a href="#" onclick="return false;"><?php echo __("Kundenverwaltung", "wpsg"); ?></a></li>
-					<li role="presentation" class="wpsg-customer-tab-a wpsg_showhide_filter" id="wpsg-customer-tab-0"><a href="#" onclick="return false;"><span class="glyphicon glyphicon-search"></span><?php echo __("Suche", "wpsg"); ?></a></li>
+					<li role="presentation" class="wpsg-customer-tab-a wpsg_showhide_filter <?php echo (($this->view['hasFilter'])?'active':''); ?>" id="wpsg-customer-tab-0"><a href="#" onclick="return false;"><span class="glyphicon glyphicon-search"></span><?php echo __("Suche", "wpsg"); ?></a></li>
                     <li role="presentation" class="<?php echo ((wpsg_isSizedString($_REQUEST['action'], 'add'))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Customer&action=add"><span class="glyphicon glyphicon-plus"></span><?php echo __("HinzufÃŒgen", "wpsg"); ?></a></li>
 				</ul>
@@ -140,5 +140,9 @@
 
         <?php } else { ?>
-        <p><?php echo __('Es wurden keine Kunden in der Datenbank gefunden.', 'wpsg'); ?></p>
+
+            <?php echo wpsg_drawForm_AdminboxStart(); ?>
+    		<?php echo __('Keine Kunden in der Datenbank.', 'wpsg'); ?>
+            <?php echo wpsg_drawForm_AdminboxEnd(); ?>
+
         <?php } ?>
 
Index: /views/mods/mod_productgroups/add.phtml
===================================================================
--- /views/mods/mod_productgroups/add.phtml	(revision 5752)
+++ /views/mods/mod_productgroups/add.phtml	(revision 5753)
@@ -4,69 +4,76 @@
 	 * Template fÃŒr das Anlegen/Bearbeiten einer Produktgruppe
 	 */
-	//wpsg_debug($this->view['data']);
+
 ?>
-<div class="wrap columns-2 wpsg_produkt_addedit">
-	<div class="icon32 icon32-posts-post" id="icon-edit"><br /></div>
-	<h2>
-		<?php echo wpsg_translate(__('Produktgruppe #1#', 'wpsg'), $this->view['data']['name']); ?>
-	</h2>
-	<br />
+
+<div class="wpsg_productgroups" id="wpsg-bs">
+
+    <nav class="navbar navbar-default">
+
+		<div class="container-fluid">
+			<div class="navbar-header">
+				<a class="navbar-brand" href="#"><?php echo __('wpShopGermany', 'wpsg'); ?></a>
+			</div>
+			<div class="collapse navbar-collapse" id="bs-customer-navbar-collapse-1">
+				<ul class="nav navbar-nav">
+					<li role="presentation" class="wpsg-customer-tab-a active"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Productgroups&wpsg_mod_action=index"><?php echo __("Produktgruppenverwaltung", "wpsg"); ?></a></li>
+                    <li role="presentation" class="active"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Productgroups&wpsg_mod_action=add"><span class="glyphicon glyphicon-plus"></span><?php echo __("Produktgruppe anlegen/bearbeiten", "wpsg"); ?></a></li>
+				</ul>
+				<ul class="nav navbar-nav navbar-right">
+				</ul>
+			</div>
+		</div>
+
+    </nav>
+
+    <div class="wpsg_clear"></div>
 
 	<?php echo $this->writeBackendMessage(); ?>
-	
-	<form method="POST" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Productgroups&wpsg_mod_action=save&noheader=1" enctype="multipart/form-data"> 
-		
-		<div id="postbox" class="metabox-holder has-right-sidebar">
 
-			<div id="side-info-column" class="inner-sidebar">
-				<div id="side-sortables" class="meta-box-sortables ui-sortable">
-					
-					<?php $this->callMods('wpsg_mod_productgroups_addedit_sidebar', array(&$this->view['data'])); ?>		
-					
-				</div>
-			</div>
+    <form method="POST" action="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Productgroups&wpsg_mod_action=save&noheader=1" enctype="multipart/form-data">
+        <div class="content form-horizontal">
 
-			<div id="post-body">	
-				<div id="post-body-content">
-					<div class="postbox" id="postbox_kunde_anschrift">
-						<div title="<?php echo __('Zum Ein/Ausklappen hier klicken', 'wpsg'); ?>" class="handlediv"><br /></div>		
-						<h3 class="hndle"><span><?php echo __('Name', 'wpsg'); ?></span></h3>
-						<div class="inside">
-						
-							<?php echo wpsg_drawForm_Input('wpsg_mod_productgroups_name', __('Name', 'wpsg'), $this->view['data']['name']); ?>
-							
-							<?php if (wpsg_isSizedArray($this->view['languages'])) { ?>
-							<?php foreach ($this->view['languages'] as $l) { if ($l['locale'] != $this->getDefaultLanguage()) { ?>
-							
-							<?php echo wpsg_drawForm_Input(
-								'lang['.$l['locale'].'][name]', 
-								__('Name', 'wpsg').'&nbsp;('.$l['name'].'&nbsp;<img src="'.$this->getFlagURL().$l['flag'].'" alt="'.$l['Name'].'" />)',
-								$this->view['data']['lang'][$l['locale']]['name']
-							); ?>							
-														
-							<?php } } ?>
-							<?php } ?>
-							
-							<?php echo wpsg_drawForm_Select('wpsg_mod_productgroups_template', __('Template', 'wpsg'), $this->view['templates'], $this->view['data']['template_file']); ?>
-							<?php echo wpsg_drawForm_Select('wpsg_mod_productgroups_infopage', __('Info Seite', 'wpsg'), $this->view['pages'], $this->view['data']['infopage']); ?>
-				
-						</div>
-					</div>
-				
-					<p class="submit">
-						<input type="submit" value="<?php echo __('Produktgruppe speichern', 'wpsg'); ?>" class="button-primary" id="submit" name="submit" />
-						<input type="submit" value="<?php echo __('Produktgruppe speichern und zur Ãbersicht', 'wpsg'); ?>" class="button-primary" id="submit_index" name="submit_index" />
-					</p>
-			
-				</div>
-			</div>
-			
-		</div>
-		
-		<?php if (isset($this->view['data']['id']) && $this->view['data']['id'] > 0) { ?>
+            <div class="row">
+                <div class="col-md-8 col-lg-8">
+
+                    <?php echo wpsg_drawForm_AdminboxStart(__('Allgemein', 'wpsg')); ?>
+
+                        <?php echo wpsg_drawForm_Input('wpsg_mod_productgroups_name', __('Name', 'wpsg'), $this->view['data']['name']); ?>
+
+                        <?php if (wpsg_isSizedArray($this->view['languages'])) { ?>
+                            <?php foreach ($this->view['languages'] as $l) { if ($l['locale'] != $this->getDefaultLanguage()) { ?>
+
+                                <?php echo wpsg_drawForm_Input(
+                                    'lang['.$l['locale'].'][name]',
+                                    __('Name', 'wpsg').'&nbsp;('.$l['name'].'&nbsp;<img src="'.$this->getFlagURL().$l['flag'].'" alt="'.$l['Name'].'" />)',
+                                    $this->view['data']['lang'][$l['locale']]['name']
+                                ); ?>
+
+                            <?php } } ?>
+                        <?php } ?>
+
+                        <?php echo wpsg_drawForm_Select('wpsg_mod_productgroups_template', __('Template', 'wpsg'), $this->view['templates'], $this->view['data']['template_file']); ?>
+                        <?php echo wpsg_drawForm_Select('wpsg_mod_productgroups_infopage', __('Info Seite', 'wpsg'), $this->view['pages'], $this->view['data']['infopage']); ?>
+
+                    <?php echo wpsg_drawForm_AdminboxEnd(); ?>
+
+                </div>
+                <div class="col-md-4 col-lg-4">
+
+                    <?php $this->callMods('wpsg_mod_productgroups_addedit_sidebar', array(&$this->view['data'])); ?>
+
+                </div>
+            </div>
+
+            <input type="submit" value="<?php echo __('Produktgruppe speichern', 'wpsg'); ?>" class="button-primary" id="submit" name="submit" />
+	        <input type="submit" value="<?php echo __('Produktgruppe speichern und zur Ãbersicht', 'wpsg'); ?>" class="button-primary" id="submit_index" name="submit_index" />
+
+        </div>
+
+        <?php if (isset($this->view['data']['id']) && $this->view['data']['id'] > 0) { ?>
 		<input type="hidden" name="edit_id" value="<?php echo $this->view['data']['id']; ?>" />
 		<?php } ?>
-	
-	</form>
-	
+
+    </form>
+
 </div>
Index: /views/mods/mod_productgroups/index.phtml
===================================================================
--- /views/mods/mod_productgroups/index.phtml	(revision 5752)
+++ /views/mods/mod_productgroups/index.phtml	(revision 5753)
@@ -19,5 +19,5 @@
 					<li role="presentation" class="wpsg-customer-tab-a active"><a href="#" onclick="return false;"><?php echo __("Produktgruppenverwaltung", "wpsg"); ?></a></li>
                     <li role="presentation" class="wpsg-customer-tab-a wpsg_showhide_filter" id="wpsg-customer-tab-0"><a href="#" onclick="return false;"><span class="glyphicon glyphicon-search"></span><?php echo __("Suche", "wpsg"); ?></a></li>
-                    <li role="presentation" class="<?php echo ((wpsg_isSizedString($_REQUEST['action'], 'add'))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Productgroups&action=add"><span class="glyphicon glyphicon-plus"></span><?php echo __("HinzufÃŒgen", "wpsg"); ?></a></li>
+                    <li role="presentation" class="<?php echo ((wpsg_isSizedString($_REQUEST['action'], 'add'))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Productgroups&wpsg_mod_action=add"><span class="glyphicon glyphicon-plus"></span><?php echo __("HinzufÃŒgen", "wpsg"); ?></a></li>
 				</ul>
 				<ul class="nav navbar-nav navbar-right">
@@ -80,23 +80,23 @@
                 </thead>
                 <tbody>
-                    <?php foreach ($this->view['arData'] as $cg) { ?>
+                    <?php foreach ($this->view['arData'] as $pg) { ?>
                     <tr>
                         <td class="col_name">
-                            <strong><a title="<?php echo __("Diese Produktgruppe bearbeiten", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Productgroups&wpsg_mod_action=edit&edit_id=<?php echo $cg->id; ?>" class="row-title"><?php echo $cg->name; ?></a></strong>
+                            <strong><a title="<?php echo __("Diese Produktgruppe bearbeiten", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Productgroups&wpsg_mod_action=edit&edit_id=<?php echo $pg->id; ?>" class="row-title"><?php echo $pg->name; ?></a></strong>
 					        <div class="row-actions">
-                                <span class="edit"><a title="<?php echo __("Diese Produktgruppe bearbeiten", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Productgroups&wpsg_mod_action=edit&edit_id=<?php echo $cg->id; ?>"><?php echo __("Bearbeiten", "wpsg"); ?></a>
+                                <span class="edit"><a title="<?php echo __("Diese Produktgruppe bearbeiten", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Productgroups&wpsg_mod_action=edit&edit_id=<?php echo $pg->id; ?>"><?php echo __("Bearbeiten", "wpsg"); ?></a>
                                 |
-                                <span class="del"><a onclick="if (!confirm('<?php echo __("Sind Sie sich sicher?", "wpsg"); ?>')) return false;" title="<?php echo __("Diese Produktgruppe lÃ¶schen", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Productgroups&wpsg_mod_action=del&noheader=1&edit_id=<?php echo $cg->id; ?>"><?php echo __("LÃ¶schen", "wpsg"); ?></a>
-                                <?php if ($cg->countProducts() > 0) { ?>
+                                <span class="del"><a onclick="if (!confirm('<?php echo __("Sind Sie sich sicher?", "wpsg"); ?>')) return false;" title="<?php echo __("Diese Produktgruppe lÃ¶schen", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Productgroups&wpsg_mod_action=del&noheader=1&edit_id=<?php echo $pg->id; ?>"><?php echo __("LÃ¶schen", "wpsg"); ?></a>
+                                <?php if ($pg->countProducts() > 0) { ?>
                                 |
-                                <span class="edit"><a title="<?php echo __("Zur Produktliste", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&search[pgruppe]=<?php echo $cg->id; ?>"><?php echo __("Zur Produktliste", "wpsg"); ?></a>
+                                <span class="edit"><a title="<?php echo __("Zur Produktliste", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&search[pgruppe]=<?php echo $pg->id; ?>"><?php echo __("Zur Produktliste", "wpsg"); ?></a>
                                 <?php } ?>
                             </div>
                         </td>
                         <td class="col_template">
-
+                            <?php echo (($pg->template_file == "0")?'Individuelle Produkttemplates':$pg->template_file); ?>
                         </td>
                         <td class="col_products">
-
+                            <?php echo $pg->countProducts(); ?>
                         </td>
                     </tr>
@@ -122,5 +122,9 @@
 
         <?php } else { ?>
-        <p><?php echo __('Es wurden keine Kunden in der Datenbank gefunden.', 'wpsg'); ?></p>
+
+            <?php echo wpsg_drawForm_AdminboxStart(); ?>
+    		<?php echo __('Keine Produktgruppen in der Datenbank.', 'wpsg'); ?>
+            <?php echo wpsg_drawForm_AdminboxEnd(); ?>
+
         <?php } ?>
 
Index: /views/mods/mod_productgroups/productgroups_addedit_sidebar.phtml
===================================================================
--- /views/mods/mod_productgroups/productgroups_addedit_sidebar.phtml	(revision 5752)
+++ /views/mods/mod_productgroups/productgroups_addedit_sidebar.phtml	(revision 5753)
@@ -4,14 +4,11 @@
 	 * Template fÃŒr die Lagerverwaltung innerhalb der Einstellungen der Produktgruppe
 	 */
-	//wpsg_debug($this->view['wpsg_mod_productgroups']['data']);
+
 ?>
-<div id="postbox_productgroupstock" class="postbox">
-	<div class="handlediv" title="<?php echo __('Zum Ein/Ausklappen hier klicken', 'wpsg'); ?>"><br /></div>
-	<h3 class="handle">
-		<span><?php echo __('Produktgruppen Lagerbestand', 'wpsg'); ?></span>
-	</h3>
-	<div class="inside">
-		<?php echo wpsg_drawForm_Checkbox('wpsg_mod_productgroups[stock_aktiv]', __('Lagerbestand zÃ€hlen', 'wpsg'), $this->view['wpsg_mod_productgroups']['data']['stock_aktiv'], array()); ?>
-		<?php echo wpsg_drawForm_Input('wpsg_mod_productgroups[stock_value]', __('Bestand', 'wpsg'), wpsg_hspc($this->view['wpsg_mod_productgroups']['data']['stock_value']), array()); ?>
-	</div>
-</div>
+
+<?php echo wpsg_drawForm_AdminboxStart(__('Produktgruppen Lagerbestand'));  ?>
+
+	<?php echo wpsg_drawForm_Input('wpsg_mod_productgroups[stock_value]', __('Bestand', 'wpsg'), wpsg_hspc(@$this->view['wpsg_mod_productgroups']['data']['stock_value']), array()); ?>
+    <?php echo wpsg_drawForm_Checkbox('wpsg_mod_productgroups[stock_aktiv]', __('Lagerbestand zÃ€hlen', 'wpsg'), @$this->view['wpsg_mod_productgroups']['data']['stock_aktiv'], array()); ?>
+
+<?php echo wpsg_drawForm_AdminboxEnd(); ?>
Index: ews/mods/mod_productgroups/produkt_index_filter.phtml
===================================================================
--- /views/mods/mod_productgroups/produkt_index_filter.phtml	(revision 5752)
+++ 	(revision )
@@ -1,11 +1,0 @@
-<?php
-
-	/**
-	 * Template fÃŒr die Produktgruppenauswahl in der ProduktÃŒbersicht
-	 */
-
-?> 
-
-<?php if (is_array($this->view['productgroups']) && sizeof($this->view['productgroups']) > 0) { ?>
-<?php echo wpsg_drawForm_Select('search[pgruppe]', __('Produktgruppe', 'wpsg'), $this->view['arSelect'], wpsg_getStr($_REQUEST['search']['pgruppe'])); ?>
-<?php } ?>
Index: /views/mods/mod_stock/produkt_edit_sidebar.phtml
===================================================================
--- /views/mods/mod_stock/produkt_edit_sidebar.phtml	(revision 5752)
+++ /views/mods/mod_stock/produkt_edit_sidebar.phtml	(revision 5753)
@@ -6,5 +6,4 @@
 
 ?>
-
 <?php echo wpsg_drawForm_Input('wpsg_mod_stock_stock', __('Lagerbestand', 'wpsg'), wpsg_getStr($this->view['data']['stock'], '0')); ?>
 <?php echo wpsg_drawForm_Checkbox('wpsg_mod_stock_stock_count', __('Lagerbestand zÃ€hlen', 'wpsg'), wpsg_getStr($this->view['data']['stock_count'], '0')); ?>
Index: /views/order/index.phtml
===================================================================
--- /views/order/index.phtml	(revision 5752)
+++ /views/order/index.phtml	(revision 5753)
@@ -133,171 +133,175 @@
 		<?php if (is_array($this->view['arData']) && sizeof($this->view['arData']) > 0) { ?>
 
-        <table class="table table-bordered table-hover table-striped wpsg-table-order">
-            <thead>
-                <tr>
-                    <th class="col_checkbox"><input type="checkbox" onclick="return wpsg_order_checkAll();" /></th>
-                    <th class="col_nr wpsg_order" data-order="cdate"><?php echo __('Nr', 'wpsg'); ?></th>
-                    <th class="col_customer wpsg_order" data-order="customer"><?php echo __('Kunde', 'wpsg'); ?></th>
-                    <th class="col_payment wpsg_order" data-order="payment"><?php echo __('Bezahlmethode', 'wpsg'); ?></th>
-                    <th class="col_shipping wpsg_order" data-order="shipping"><?php echo __('Versandart', 'wpsg'); ?></th>
-                    <th class="col_products wpsg_order" data-order="products"><?php echo __('Produkte', 'wpsg'); ?></th>
-                    <th class="col_sum wpsg_order" data-order="amount"><?php echo __('Bestellwert', 'wpsg'); ?></th>
-                    <th class="col_state wpsg_order" data-order="state"><?php echo __('Status', 'wpsg'); ?></th>
-                </tr>
-            </thead>
-            <tbody>
-                <?php foreach ($this->view['arData'] as $oOrder) { ?>
-                <tr>
-                    <td class="col_checkbox">
-
-                        <input class="col_set_checkbox" name="wpsg_multido[<?php echo $oOrder->id; ?>]" type="checkbox" />
-
-                    </td>
-                    <td class="col_nr">
-
-                        <?php echo $oOrder->getNr(); ?> <span class="wpsg_grey"><?php echo wpsg_formatTimestamp(strtotime($oOrder->cdate), false); ?></span><br />
-
-                        <div class="actions">
-                            <span class="view"><a title="<?php echo __("Diese Bestellung ansehen", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=view&edit_id=<?php echo $oOrder->id; ?>"><?php echo __("Ansehen", "wpsg"); ?></a></span>
-                            |
-                            <span class="storno"><a onclick="return confirm('<?php echo __('Sind Sie sich sicher, dass Sie diese Bestellung stornieren mÃ¶chten?', 'wpsg'); ?>');" title="<?php echo __("Diese Bestellung stornieren", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=storno&noheader=1&edit_id=<?php echo $oOrder->id; ?>"><?php echo __("Stornieren", "wpsg"); ?></a></span>
-                            |
-                            <span class="delete"><a onclick="return confirm('<?php echo __('Sind Sie sich sicher, dass Sie diese Bestellung lÃ¶schen mÃ¶chten?', 'wpsg'); ?>');" title="<?php echo __('Diese Bestellung lÃ¶schen', 'wpsg'); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=delete&noheader=1&edit_id=<?php echo $oOrder->id; ?>"><?php echo __('LÃ¶schen', 'wpsg'); ?></a></span>
-                        </div>
-
-                        <?php if (trim($oOrder->admincomment) != "") { ?>
-                        <a title="<?php echo __("Kommentar (Admin): ", "wpsg").htmlspecialchars($oOrder->admincomment); ?>" onclick="return false;" class="glyphicon glyphicon-info-sign admincomment" href="#"></a>
-                        <?php } ?>
-
-                        <?php if (trim($oOrder->comment) != "") { ?>
-                        <a title="<?php echo __("Kommentar (Kunde): ", "wpsg").htmlspecialchars($oOrder->comment); ?>" onclick="return false;" class="glyphicon glyphicon-info-sign customercomment" href="#"></a>
-                        <?php } ?>
-
-                        <?php if ($oOrder->hasShippingAdress()) { ?>
-                        <a title="<?php echo __("Lieferadresse beachten", "wpsg"); ?>" onclick="return false;" class="glyphicon glyphicon-map-marker shippingadress" href="#"></a>
-                        <?php } ?>
-
-                        <?php if ($this->hasMod('wpsg_mod_abo')) { ?>
-                            <?php if ($this->callMod('wpsg_mod_abo', 'isAboOrder', array($oOrder->id)) === 1) { ?>
-                                <?php echo $this->callMod('wpsg_mod_abo', 'getOrderAboExpiration', array($oOrder->id)) ?>
-                            <?php } else if ($this->callMod('wpsg_mod_abo', 'isAboOrder', array($oOrder->id)) === 2) { ?>
-                                <?php
-
-                                    $origin_order_id = $this->callMod('wpsg_mod_abo', 'getOriginOrder', array($oOrder->id));
-                                    $origin_order_data = $this->cache->loadOrder($origin_order_id);
-
-                                ?>
-                                <?php echo $this->callMod('wpsg_mod_abo', 'getOrderAboExpiration', array($origin_order_data['id'])) ?><br />
-                                <?php echo wpsg_translate(__('VerlÃ€ngerung zu Bestellung <a href="#1#">#2#</a>', 'wpsg'), WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Order&action=view&edit_id='.$origin_order_id, $origin_order_data['onr']); ?>
-                            <?php } ?>
-                        </td>
-                        <?php } ?>
-
-                    </td>
-                    <td class="col_customer">
-                        <?php $firma = $oOrder->getCustomer()->firma; if (wpsg_isSizedString($firma)) { ?>
-                        <?php echo $firma; ?><br />
-                        <?php } ?>
-                        <?php echo $oOrder->getInvoiceTitle(); ?> <?php echo $oOrder->getCustomer()->vname; ?> <?php echo $oOrder->getCustomer()->name; ?>
-                        <br />
-                        <span class="wpsg_grey"><?php echo $oOrder->getCustomer()->strasse; ?><br />
-                        <?php echo ltrim($oOrder->getCustomer()->plz.' '.$oOrder->getCustomer()->ort); ?> <?php echo $oOrder->getCustomer()->getCountryKuerzel(); ?>
-                        </span>
-                    </td>
-                    <td class="col_payment">
-
-                        <?php /* Bei Crefopay wird die Darstellung der Zahlungsart ÃŒber das Modul geregelt */ ?>
-                        <?php if ($oOrder->getPaymentID() == 4000 && $this->hasMod('wpsg_mod_crefopay')) { ?>
-                            <?php echo wpsg_hspc($this->callMod('wpsg_mod_crefopay', 'getOrderPaymentName', array($oOrder->id))); ?>
-                        <?php } else { ?>
-                            <?php echo $oOrder->getPaymentLabel(); ?>
-                        <?php } ?>
-
-                        <?php if ($oOrder->getPaymentAmount() > 0) { ?>
-                        &nbsp;-&nbsp;<?php echo wpsg_ff($oOrder->getPaymentAmount(), $this->get_option('wpsg_currency')); ?>
-                        <?php } ?>
-
-                    </td>
-                    <td class="col_shipping">
-
-                        <?php echo $oOrder->getShippingLabel(); ?>
-
-                        <?php if ($oOrder->getShippingAmount() > 0) { ?>
-                        &nbsp;-&nbsp;<?php echo wpsg_ff($oOrder->getShippingAmount(), $this->get_option('wpsg_currency')); ?>
-                        <?php } ?>
-
-                        <?php if ($oOrder->hasShippingAdress()) { ?>
+            <table class="table table-bordered table-hover table-striped wpsg-table-order">
+                <thead>
+                    <tr>
+                        <th class="col_checkbox"><input type="checkbox" onclick="return wpsg_order_checkAll();" /></th>
+                        <th class="col_nr wpsg_order" data-order="cdate"><?php echo __('Nr', 'wpsg'); ?></th>
+                        <th class="col_customer wpsg_order" data-order="customer"><?php echo __('Kunde', 'wpsg'); ?></th>
+                        <th class="col_payment wpsg_order" data-order="payment"><?php echo __('Bezahlmethode', 'wpsg'); ?></th>
+                        <th class="col_shipping wpsg_order" data-order="shipping"><?php echo __('Versandart', 'wpsg'); ?></th>
+                        <th class="col_products wpsg_order" data-order="products"><?php echo __('Produkte', 'wpsg'); ?></th>
+                        <th class="col_sum wpsg_order" data-order="amount"><?php echo __('Bestellwert', 'wpsg'); ?></th>
+                        <th class="col_state wpsg_order" data-order="state"><?php echo __('Status', 'wpsg'); ?></th>
+                    </tr>
+                </thead>
+                <tbody>
+                    <?php foreach ($this->view['arData'] as $oOrder) { ?>
+                    <tr>
+                        <td class="col_checkbox">
+
+                            <input class="col_set_checkbox" name="wpsg_multido[<?php echo $oOrder->id; ?>]" type="checkbox" />
+
+                        </td>
+                        <td class="col_nr">
+
+                            <?php echo $oOrder->getNr(); ?> <span class="wpsg_grey"><?php echo wpsg_formatTimestamp(strtotime($oOrder->cdate), false); ?></span><br />
+
+                            <div class="actions">
+                                <span class="view"><a title="<?php echo __("Diese Bestellung ansehen", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=view&edit_id=<?php echo $oOrder->id; ?>"><?php echo __("Ansehen", "wpsg"); ?></a></span>
+                                |
+                                <span class="storno"><a onclick="return confirm('<?php echo __('Sind Sie sich sicher, dass Sie diese Bestellung stornieren mÃ¶chten?', 'wpsg'); ?>');" title="<?php echo __("Diese Bestellung stornieren", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=storno&noheader=1&edit_id=<?php echo $oOrder->id; ?>"><?php echo __("Stornieren", "wpsg"); ?></a></span>
+                                |
+                                <span class="delete"><a onclick="return confirm('<?php echo __('Sind Sie sich sicher, dass Sie diese Bestellung lÃ¶schen mÃ¶chten?', 'wpsg'); ?>');" title="<?php echo __('Diese Bestellung lÃ¶schen', 'wpsg'); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order&action=delete&noheader=1&edit_id=<?php echo $oOrder->id; ?>"><?php echo __('LÃ¶schen', 'wpsg'); ?></a></span>
+                            </div>
+
+                            <?php if (trim($oOrder->admincomment) != "") { ?>
+                            <a title="<?php echo __("Kommentar (Admin): ", "wpsg").htmlspecialchars($oOrder->admincomment); ?>" onclick="return false;" class="glyphicon glyphicon-info-sign admincomment" href="#"></a>
+                            <?php } ?>
+
+                            <?php if (trim($oOrder->comment) != "") { ?>
+                            <a title="<?php echo __("Kommentar (Kunde): ", "wpsg").htmlspecialchars($oOrder->comment); ?>" onclick="return false;" class="glyphicon glyphicon-info-sign customercomment" href="#"></a>
+                            <?php } ?>
+
+                            <?php if ($oOrder->hasShippingAdress()) { ?>
+                            <a title="<?php echo __("Lieferadresse beachten", "wpsg"); ?>" onclick="return false;" class="glyphicon glyphicon-map-marker shippingadress" href="#"></a>
+                            <?php } ?>
+
+                            <?php if ($this->hasMod('wpsg_mod_abo')) { ?>
+                                <?php if ($this->callMod('wpsg_mod_abo', 'isAboOrder', array($oOrder->id)) === 1) { ?>
+                                    <?php echo $this->callMod('wpsg_mod_abo', 'getOrderAboExpiration', array($oOrder->id)) ?>
+                                <?php } else if ($this->callMod('wpsg_mod_abo', 'isAboOrder', array($oOrder->id)) === 2) { ?>
+                                    <?php
+
+                                        $origin_order_id = $this->callMod('wpsg_mod_abo', 'getOriginOrder', array($oOrder->id));
+                                        $origin_order_data = $this->cache->loadOrder($origin_order_id);
+
+                                    ?>
+                                    <?php echo $this->callMod('wpsg_mod_abo', 'getOrderAboExpiration', array($origin_order_data['id'])) ?><br />
+                                    <?php echo wpsg_translate(__('VerlÃ€ngerung zu Bestellung <a href="#1#">#2#</a>', 'wpsg'), WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Order&action=view&edit_id='.$origin_order_id, $origin_order_data['onr']); ?>
+                                <?php } ?>
+                            </td>
+                            <?php } ?>
+
+                        </td>
+                        <td class="col_customer">
+                            <?php $firma = $oOrder->getCustomer()->firma; if (wpsg_isSizedString($firma)) { ?>
+                            <?php echo $firma; ?><br />
+                            <?php } ?>
+                            <?php echo $oOrder->getInvoiceTitle(); ?> <?php echo $oOrder->getCustomer()->vname; ?> <?php echo $oOrder->getCustomer()->name; ?>
                             <br />
-                            <?php echo $oOrder->getShippingTitle(); ?><?php echo $oOrder->getShippingFirstName(); ?> <?php echo $oOrder->getShippingName(); ?><br />
-                            <span class="wpsg_grey">
-                                <?php echo $oOrder->getShippingStreet(); ?>
-                                <?php echo $oOrder->getShippingZip(); ?> <?php echo $oOrder->getShippingCity(); ?> <?php echo $oOrder->getShippingCountryKuerzel(); ?><br />
-                        </span
-                        <?php } ?>
-
-                    </td>
-                    <td class="col_products">
-
-                        <?php foreach ($oOrder->getOrderProducts() as $oOrderProduct) { ?>
-                        <?php echo wpsg_translate(__('#1# x <a href="#2#">#3#</a> fÃŒr je #4#', 'wpsg'),
-                            $oOrderProduct->getCount(),
-                            WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Produkt&action=edit&edit_id='.$oOrderProduct->getProductId(),
-                            $oOrderProduct->getProduct()->getProductName(),
-                            wpsg_ff($oOrderProduct->getAmount(), $this->get_option('wpsg_currency'))
-                        ); ?><br />
-                        <?php } ?>
-
-                    </td>
-                    <td class="col_sum">
-                        <?php echo wpsg_ff($oOrder->getAmount(), $this->get_option('wpsg_currency')); ?>
-                    </td>
-                    <td class="col_state">
-                        <?php echo $oOrder->getStateLabel(); ?>
-                    </td>
-                </tr>
-                <?php } ?>
-            </tbody>
-        </table>
-
-        <div class="alignleft actions">
-
-            <select name="wpsg_action" id="wpsg_action">
-                <option value="-1"><?php echo __('Aktion wÃ€hlen', 'wpsg'); ?></option>
-                <?php foreach ($this->arStatus as $k => $status) { ?>
-                <option value="<?php echo $k; ?>"><?php echo wpsg_translate(__('Status auf "#1#" setzen.', 'wpsg'), $status); ?></option>
-                <?php } ?>
-                <option value="multiDelete"><?php echo __('Bestellungen lÃ¶schen', 'wpsg'); ?></option>
-                <?php if ($this->hasMod('wpsg_mod_rechnungen')) { ?>
-                <option value="writeRechnung"><?php echo __('Rechnung schreiben', 'wpsg'); ?></option>
-                <option value="showRechnung"><?php echo __('Rechnung ansehen', 'wpsg'); ?></option>
-                <?php } ?>
-            </select>
-
-            <input onclick="if (jQuery('#wpsg_action').val() == 'multiDelete') { if (!confirm('<?php echo __('Sind Sie sich sicher?', 'wpsg'); ?>')) return false; }" type="submit" value="<?php echo __('AusfÃŒhren', 'wpsg'); ?>" class="button-secondary action" id="doaction" name="wpsg_order_doaction" />
-
-        </div>
-
-        <?php if ($this->view['pages'] > 1) { ?>
-        <nav class="pagination_wrap pagination_wrap_bottom">
-            <ul class="pagination">
-                <?php if ($this->view['arFilter']['page'] > 1) { ?>
-                    <li><a onclick="return goPage(<?php echo $this->view['arFilter']['page'] - 1; ?>);" href="#" aria-label="<?php echo __('Vorherige Seite'); ?>"><span aria-hidden="true">&laquo;</span></a></li>
-                <?php } ?>
-                <?php for ($i = 1; $i <= $this->view['pages']; $i ++) { ?>
-                    <li class="<?php echo (($i == $this->view['arFilter']['page'])?'active':''); ?>"><a onclick="return goPage(<?php echo $i; ?>);" href="#"><?php echo $i; ?></a></li>
-                <?php } ?>
-                <?php if ($this->view['arFilter']['page'] + 1 <= $this->view['pages']) { ?>
-                    <li><a onclick="return goPage(<?php echo $this->view['arFilter']['page'] + 1; ?>);" href="#" aria-label="<?php echo __('NÃ€chste Seite'); ?>"><span aria-hidden="true">&raquo;</span></a></li>
-                <?php } ?>
-            </ul>
-        </nav>
-        <?php } ?>
-
-        <div class="wpsg_clear"></div>
-
-        <?php $this->callMod('wpsg_mod_export', 'produkt_index_foot'); ?>
+                            <span class="wpsg_grey"><?php echo $oOrder->getCustomer()->strasse; ?><br />
+                            <?php echo ltrim($oOrder->getCustomer()->plz.' '.$oOrder->getCustomer()->ort); ?> <?php echo $oOrder->getCustomer()->getCountryKuerzel(); ?>
+                            </span>
+                        </td>
+                        <td class="col_payment">
+
+                            <?php /* Bei Crefopay wird die Darstellung der Zahlungsart ÃŒber das Modul geregelt */ ?>
+                            <?php if ($oOrder->getPaymentID() == 4000 && $this->hasMod('wpsg_mod_crefopay')) { ?>
+                                <?php echo wpsg_hspc($this->callMod('wpsg_mod_crefopay', 'getOrderPaymentName', array($oOrder->id))); ?>
+                            <?php } else { ?>
+                                <?php echo $oOrder->getPaymentLabel(); ?>
+                            <?php } ?>
+
+                            <?php if ($oOrder->getPaymentAmount() > 0) { ?>
+                            &nbsp;-&nbsp;<?php echo wpsg_ff($oOrder->getPaymentAmount(), $this->get_option('wpsg_currency')); ?>
+                            <?php } ?>
+
+                        </td>
+                        <td class="col_shipping">
+
+                            <?php echo $oOrder->getShippingLabel(); ?>
+
+                            <?php if ($oOrder->getShippingAmount() > 0) { ?>
+                            &nbsp;-&nbsp;<?php echo wpsg_ff($oOrder->getShippingAmount(), $this->get_option('wpsg_currency')); ?>
+                            <?php } ?>
+
+                            <?php if ($oOrder->hasShippingAdress()) { ?>
+                                <br />
+                                <?php echo $oOrder->getShippingTitle(); ?><?php echo $oOrder->getShippingFirstName(); ?> <?php echo $oOrder->getShippingName(); ?><br />
+                                <span class="wpsg_grey">
+                                    <?php echo $oOrder->getShippingStreet(); ?>
+                                    <?php echo $oOrder->getShippingZip(); ?> <?php echo $oOrder->getShippingCity(); ?> <?php echo $oOrder->getShippingCountryKuerzel(); ?><br />
+                            </span
+                            <?php } ?>
+
+                        </td>
+                        <td class="col_products">
+
+                            <?php foreach ($oOrder->getOrderProducts() as $oOrderProduct) { ?>
+                            <?php echo wpsg_translate(__('#1# x <a href="#2#">#3#</a> fÃŒr je #4#', 'wpsg'),
+                                $oOrderProduct->getCount(),
+                                WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Produkt&action=edit&edit_id='.$oOrderProduct->getProductId(),
+                                $oOrderProduct->getProduct()->getProductName(),
+                                wpsg_ff($oOrderProduct->getAmount(), $this->get_option('wpsg_currency'))
+                            ); ?><br />
+                            <?php } ?>
+
+                        </td>
+                        <td class="col_sum">
+                            <?php echo wpsg_ff($oOrder->getAmount(), $this->get_option('wpsg_currency')); ?>
+                        </td>
+                        <td class="col_state">
+                            <?php echo $oOrder->getStateLabel(); ?>
+                        </td>
+                    </tr>
+                    <?php } ?>
+                </tbody>
+            </table>
+
+            <div class="alignleft actions">
+
+                <select name="wpsg_action" id="wpsg_action">
+                    <option value="-1"><?php echo __('Aktion wÃ€hlen', 'wpsg'); ?></option>
+                    <?php foreach ($this->arStatus as $k => $status) { ?>
+                    <option value="<?php echo $k; ?>"><?php echo wpsg_translate(__('Status auf "#1#" setzen.', 'wpsg'), $status); ?></option>
+                    <?php } ?>
+                    <option value="multiDelete"><?php echo __('Bestellungen lÃ¶schen', 'wpsg'); ?></option>
+                    <?php if ($this->hasMod('wpsg_mod_rechnungen')) { ?>
+                    <option value="writeRechnung"><?php echo __('Rechnung schreiben', 'wpsg'); ?></option>
+                    <option value="showRechnung"><?php echo __('Rechnung ansehen', 'wpsg'); ?></option>
+                    <?php } ?>
+                </select>
+
+                <input onclick="if (jQuery('#wpsg_action').val() == 'multiDelete') { if (!confirm('<?php echo __('Sind Sie sich sicher?', 'wpsg'); ?>')) return false; }" type="submit" value="<?php echo __('AusfÃŒhren', 'wpsg'); ?>" class="button-secondary action" id="doaction" name="wpsg_order_doaction" />
+
+            </div>
+
+            <?php if ($this->view['pages'] > 1) { ?>
+            <nav class="pagination_wrap pagination_wrap_bottom">
+                <ul class="pagination">
+                    <?php if ($this->view['arFilter']['page'] > 1) { ?>
+                        <li><a onclick="return goPage(<?php echo $this->view['arFilter']['page'] - 1; ?>);" href="#" aria-label="<?php echo __('Vorherige Seite'); ?>"><span aria-hidden="true">&laquo;</span></a></li>
+                    <?php } ?>
+                    <?php for ($i = 1; $i <= $this->view['pages']; $i ++) { ?>
+                        <li class="<?php echo (($i == $this->view['arFilter']['page'])?'active':''); ?>"><a onclick="return goPage(<?php echo $i; ?>);" href="#"><?php echo $i; ?></a></li>
+                    <?php } ?>
+                    <?php if ($this->view['arFilter']['page'] + 1 <= $this->view['pages']) { ?>
+                        <li><a onclick="return goPage(<?php echo $this->view['arFilter']['page'] + 1; ?>);" href="#" aria-label="<?php echo __('NÃ€chste Seite'); ?>"><span aria-hidden="true">&raquo;</span></a></li>
+                    <?php } ?>
+                </ul>
+            </nav>
+            <?php } ?>
+
+            <div class="wpsg_clear"></div>
+
+            <?php $this->callMod('wpsg_mod_export', 'produkt_index_foot'); ?>
 
 		<?php } else { ?>
-		<p><?php echo __('Keine Bestellungen in der Datenbank.', 'wpsg'); ?></p>
+
+            <?php echo wpsg_drawForm_AdminboxStart(); ?>
+    		<?php echo __('Keine Bestellungen in der Datenbank.', 'wpsg'); ?>
+            <?php echo wpsg_drawForm_AdminboxEnd(); ?>
+
 		<?php } ?>
 
Index: /views/order/view.phtml
===================================================================
--- /views/order/view.phtml	(revision 5752)
+++ /views/order/view.phtml	(revision 5753)
@@ -15,5 +15,5 @@
 			<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
 				<ul class="nav navbar-nav">
-					<li role="presentation" class="<?php echo ((!isset($_REQUEST['action']))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order"><?php echo __("BestellÃŒbersicht", "wpsg"); ?></a></li>
+					<li role="presentation" class="active <?php echo ((!isset($_REQUEST['action']))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Order"><?php echo __("BestellÃŒbersicht", "wpsg"); ?></a></li>
 					<li role="presentation" class="wpsg_showhide_filter active"><a href="#" onclick="return false;"><?php echo __("Bestellansicht", "wpsg"); ?></a></li>
 				</ul>
Index: /views/produkt/addedit.phtml
===================================================================
--- /views/produkt/addedit.phtml	(revision 5752)
+++ /views/produkt/addedit.phtml	(revision 5753)
@@ -17,6 +17,6 @@
 			<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
 				<ul class="nav navbar-nav">
-					<li role="presentation" class="<?php echo ((!isset($_REQUEST['action']))?'active':''); ?>"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt"><?php echo __("ProduktÃŒbersicht", "wpsg"); ?></a></li>
-					<li role="presentation" class="wpsg_showhide_filter active"><a href="#" onclick="return false;"><?php echo __("Produktbearbeitung", "wpsg"); ?></a></li>
+					<li role="presentation" class="active"><a href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt"><?php echo __("ProduktÃŒbersicht", "wpsg"); ?></a></li>
+					<li role="presentation" class="wpsg_showhide_filter active"><a href="#" onclick="return false;"><?php echo __("Produkte anlegen/bearbeiten", "wpsg"); ?></a></li>
 				</ul>
 			</div>
Index: /views/produkt/index.phtml
===================================================================
--- /views/produkt/index.phtml	(revision 5752)
+++ /views/produkt/index.phtml	(revision 5753)
@@ -33,12 +33,13 @@
 					<form method="post" id="filter_form">
 					
-						<input id="wpsg_seite" type="hidden" name="seite" value="<?php echo $this->view['seite']; ?>" class="current-page" />
-
-                        <input id="wpsg_order" type="hidden" name="search[order]" value="<?php echo $this->view['search']['order']; ?>" />
-						<input id="wpsg_ascdesc" type="hidden" name="search[ascdesc]" value="<?php echo $this->view['search']['ascdesc']; ?>" />
+						<input id="wpsg_seite" type="hidden" name="seite" value="<?php echo @$this->view['arFilter']['page']; ?>" class="current-page" />
+						<input id="wpsg_order" type="hidden" name="filter[order]" value="<?php echo @$this->view['arFilter']['order']; ?>" />
+						<input id="wpsg_ascdesc" type="hidden" name="filter[ascdesc]" value="<?php echo @$this->view['arFilter']['ascdesc']; ?>" />
 										
-						<?php echo wpsg_drawForm_Input('s', __('Suchfeld', 'wpsg'), wpsg_getStr($_REQUEST['s'])); ?>
-						
-						<?php echo $this->callMod('wpsg_mod_productgroups', 'produkt_index_filter'); ?>
+						<?php echo wpsg_drawForm_Input('filter[s]', __('Suchfeld', 'wpsg'), wpsg_getStr($this->view['arFilter']['s'])); ?>
+                        
+                        <?php if ($this->hasMod('wpsg_mod_productgroups')) { ?>
+                        <?php echo wpsg_drawForm_Select('filter[productgroup_ids]', __('Produktgruppe', 'wpsg'), wpsg_array_merge(array('-1' => wpsg_translate(__('Alle Produktgruppen (#1#)', 'wpsg'), wpsg_product::count())), wpsg_productgroup::getProductgroupSelect()), @$this->view['arFilter']['productgroup_ids']); ?>
+                        <?php } ?>
 						
 						<?php echo wpsg_drawForm_SubmitButton(__('Produkte suchen')); ?><br />
@@ -48,124 +49,161 @@
 			</div>		
 		</div>
-	</nav> 
+	</nav>
+
+    <?php if ($this->hasMod('wpsg_mod_productgroups')) { $arProductgroupSelect = wpsg_productgroup::getProductgroupSelect(); ?>
+        <?php if (wpsg_isSizedArray($arProductgroupSelect)) { ?>
+            <div class="pagination_wrap wpsg_productgroup_link_wrap">
+
+                <ul class="pagination">
+                    <li class="<?php echo ((wpsg_getStr($this->view['arFilter']['productgroup_ids']) == '-1' || !isset($this->view['arFilter']['productgroup_ids']))?'active':''); ?>"><a href="#" onclick="jQuery('#filterproductgroup_ids').val('-1'); jQuery('#filter_form').submit(); return false;"><?php echo wpsg_translate(__('Alle (#1#)', 'wpsg'), wpsg_product::count()); ?></a></li>
+                    <?php foreach ($arProductgroupSelect as $pg_id => $pg_name) { ?>
+                    <li class="<?php echo ((wpsg_getStr($this->view['arFilter']['productgroup_ids']) == $pg_id)?'active':''); ?>"><a href="#" onclick="jQuery('#filterproductgroup_ids').val('<?php echo $pg_id; ?>'); jQuery('#filter_form').submit(); return false;"><?php echo $pg_name; ?></a></li>
+                    <?php } ?>
+                </ul>
+
+            </div>
+        <?php } ?>
+    <?php } ?>
 
 	<?php if ($this->view['pages'] > 1) { ?>
 	<nav class="pagination_wrap">
-  		<ul class="pagination">
-  			<?php if ($this->view['seite'] > 1) { ?>
-  			 <li><a onclick="return goPage(<?php echo $this->view['seite'] - 1; ?>);" href="#" aria-label="<?php echo __('Vorherige Seite'); ?>"><span aria-hidden="true">&laquo;</span></a></li>
-  			<?php } ?>
-  			<?php for ($i = 1; $i <= $this->view['pages']; $i ++) { ?>
-  			<li class="<?php echo (($i == $this->view['seite'])?'active':''); ?>"><a onclick="return goPage(<?php echo $i; ?>);" href="#"><?php echo $i; ?></a></li>
-  			<?php } ?>
-  			<?php if ($this->view['seite'] + 1 <= $this->view['pages']) { ?>
-  			 <li><a onclick="return goPage(<?php echo $this->view['seite'] + 1; ?>);" href="#" aria-label="<?php echo __('NÃ€chste Seite'); ?>"><span aria-hidden="true">&raquo;</span></a></li>
-  			<?php } ?>
-  		</ul>
-  	</nav>
-  	<?php } ?>
+		<ul class="pagination">
+			<?php if ($this->view['arFilter']['page'] > 1) { ?>
+				<li><a onclick="return goPage(<?php echo $this->view['arFilter']['page'] - 1; ?>);" href="#" aria-label="<?php echo __('Vorherige Seite'); ?>"><span aria-hidden="true">&laquo;</span></a></li>
+			<?php } ?>
+			<?php for ($i = 1; $i <= $this->view['pages']; $i ++) { ?>
+				<li class="<?php echo (($i == $this->view['arFilter']['page'])?'active':''); ?>"><a onclick="return goPage(<?php echo $i; ?>);" href="#"><?php echo $i; ?></a></li>
+			<?php } ?>
+			<?php if ($this->view['arFilter']['page'] + 1 <= $this->view['pages']) { ?>
+				<li><a onclick="return goPage(<?php echo $this->view['arFilter']['page'] + 1; ?>);" href="#" aria-label="<?php echo __('NÃ€chste Seite'); ?>"><span aria-hidden="true">&raquo;</span></a></li>
+			<?php } ?>
+		</ul>
+	</nav>
+	<?php } ?>
 
 	<?php echo $this->writeBackendMessage(); ?> 
 			
 	<div class="content">	
-		<?php if (is_array($this->view['data']) && sizeof($this->view['data']) > 0) { ?>
-		<table class="table table-bordered table-hover table-striped wpsg-table-order">
-			<thead>
-				<tr>
-					<?php if ($this->hasMod('wpsg_mod_produktbilder')) { ?>
-					<th class="manage-column column-title wpsg_pic_col"></th>
-					<?php } ?>
-                    <th class="wpsg_order" data-order="name"><?php echo __("Name", 'wpsg'); ?></th>
-                    <th class="wpsg_order" data-order="anr"><?php echo __("Artikelnummer", 'wpsg'); ?></th>
-
-					<?php if ($this->hasMod('wpsg_mod_productgroups')) { ?>
-                    <th class="wpsg_order" data-order="pgruppe"><?php echo __("Produktgruppe", 'wpsg'); ?></th>
-					<?php } ?>
-
-					<?php if ($this->hasMod('wpsg_mod_stock') && $this->get_option('wpsg_mod_stock_showBackendStock') == '1') { ?>
-					<th class="wpsg_order" data-order="stock"><?php echo __("Lagerbestand", 'wpsg'); ?></th>
-					<?php } ?>
-
-                    <th class="wpsg_order" data-order="mwst"><?php echo __("MwSt.", 'wpsg'); ?></th>
-
-                    <th class="wpsg_order" data-order="price"><?php echo __("Preis", 'wpsg'); ?></th>
-				</tr>
-			</thead>
-			<tbody>
-				<?php foreach ($this->view['data'] as $d) { ?>
-				<tr>
-					<?php if ($this->hasMod('wpsg_mod_produktbilder')) { ?>
-					<td class="post-title wpsg_pic_col">
-						<?php 
-						
-							$img = $this->callMod('wpsg_mod_produktbilder', 'getProductImage', array($d['id'], 40, 40, 'c'));
-						 
-							if ($img !== false)
-							{
-								
-								echo '<a href="'.WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Produkt&amp;action=edit&amp;edit_id='.$d['id'].'" title="'.wpsg_translate(__('Produkt fÃŒr Sprache #1# bearbeiten.', 'wpsg'), $d['name']).'">';
-								echo '<img src="'.$img.'" alt="" />';
-								echo '</a>';
-								
-							}
-							
-						?>
-					</td>
-					<?php } ?>
-					<td class="post-title column-title">
-						<strong><a title="<?php echo __("Dieses Produkt bearbeiten", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&amp;action=edit&amp;edit_id=<?php echo $d['id']; ?>" class="row-title"><?php echo (($d['name'] == "")?__("---- ", "wpsg"):$d['name']); ?></a></strong>
-						<div class="row-actions">
-							<span class="edit"><a title="<?php echo __("Dieses Produkt bearbeiten", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&amp;action=edit&amp;edit_id=<?php echo $d['id']; ?>"><?php echo __("Bearbeiten", "wpsg"); ?></a></span>
-							<?php if ($this->isMultiLingual()) { ?> 
-							<?php foreach ($this->getStoreLanguages() as $l) { ?>
-								<?php if ($l['locale'] != $this->getDefaultLanguageLocale()) { ?>							
-								<a href="<?php echo $this->url(WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Produkt&amp;action=edit&amp;edit_id='.$d['id'].'&amp;wpsg_lang='.$l['locale']); ?>" title="<?php echo wpsg_translate(__('Produkt fÃŒr Sprache #1# bearbeiten.', 'wpsg'), $l['name']); ?>">
-									<img src="<?php echo $this->getFlagURL().$l['flag']; ?>" alt="<?php echo wpsg_translate(__('Produkt fÃŒr Sprache #1# bearbeiten.', 'wpsg'), $l['name']); ?>" />
-								</a>
-								<?php } ?>
-							<?php } ?>
-							<?php } ?>
-							|
-							<span class="del"><a onclick="if (!confirm('<?php echo __("Sind Sie sicher, dass Sie das Produkt lÃ¶schen wollen?", "wpsg"); ?>')) return false;" title="<?php echo __("Dieses Produkt lÃ¶schen", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&amp;action=del&amp;edit_id=<?php echo $d['id']; ?>&amp;noheader=1"><?php echo __("LÃ¶schen", "wpsg"); ?></a></span>
-							|
-							<span class="copy"><a onclick="if (!confirm('<?php echo __("Sind Sie sicher, dass Sie das Produkt kopieren wollen?", "wpsg"); ?>')) return false;" title="<?php echo __("Dieses Produkt kopieren", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&amp;action=copy&amp;edit_id=<?php echo $d['id']; ?>&amp;noheader=1"><?php echo __("Kopieren", "wpsg"); ?></a></span>
-							| 
-							<span class="view"><a target="_blank" title="<?php echo __("Dieses Produkt im Frontend ansehen", "wpsg"); ?>" href="<?php echo $this->getProduktLink(array('id' => $d['id'])); ?>"><?php echo __("Ansehen", "wpsg"); ?></a></span>
-							<?php $this->callMods('produkt_index_editmenu', array(&$d)); ?>
-						</div>
-					</td>
-					<td><?php echo wpsg_hspc($d['anr']); ?></td>
-					<?php if ($this->hasMod('wpsg_mod_productgroups')) { ?>
-					<td>
-						<?php if ($d['pgruppe'] <= 0) { ?>
-						<?php echo __('Nicht zugewiesen', 'wpsg'); ?>
-						<?php } else { ?>
-						<?php echo $d['pgruppe_name']; ?>
-						<?php } ?>
-					</td>
-					<?php } ?>
-					<?php if ($this->hasMod('wpsg_mod_stock') && $this->get_option('wpsg_mod_stock_showBackendStock') == '1') { ?>
-					<td>
-						<div style="line-height:inherit; margin-bottom:0.2em;"><?php echo $d['stock']; ?></div>
-						<?php if ($this->hasMod('wpsg_mod_varianten')) $arVarianten = $this->callMod('wpsg_mod_varianten', 'loadVarianten', array($d['id'])); if (wpsg_isSizedArray($arVarianten)) { ?>					
-						<div style="line-height:inherit; padding:2px 0px 0px;">
-							<a class="clueTip" href="#" rel="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&action=ajax&mod=wpsg_mod_stock&edit_id=<?php echo $d['id']; ?>&noheader=1&wpsg_cmd=getVariInfo"><?php echo __('Variantenbestand', 'wpsg'); ?></a>
-						</div>					
-						<?php } ?>
-					</td>
-					<?php } ?>
-					<td class="wpsg_mwst_col">
-						<?php echo strtoupper($d['mwst_key']).' ('.wpsg_ff($d['mwst_value'], '%').' '.$this->getDefaultCountry()->kuerzel.')'; ?>					
-					</td>
-					<td>
-						<?php echo wpsg_ff($d['preis'], $this->get_option('wpsg_currency')); ?>
-					</td>				
-				</tr>
-				<?php } ?>
-			</tbody>
-		</table>
-			
+		<?php if (is_array($this->view['arData']) && sizeof($this->view['arData']) > 0) { ?>
+            <table class="table table-bordered table-hover table-striped wpsg-table-order">
+                <thead>
+                    <tr>
+                        <?php if ($this->hasMod('wpsg_mod_produktbilder')) { ?>
+                        <th class="manage-column column-title wpsg_pic_col"></th>
+                        <?php } ?>
+                        <th class="wpsg_order" data-order="name"><?php echo __("Name", 'wpsg'); ?></th>
+                        <th class="wpsg_order" data-order="anr"><?php echo __("Artikelnummer", 'wpsg'); ?></th>
+
+                        <?php if ($this->hasMod('wpsg_mod_productgroups')) { ?>
+                        <th class="wpsg_order" data-order="pgruppe"><?php echo __("Produktgruppe", 'wpsg'); ?></th>
+                        <?php } ?>
+
+                        <?php if ($this->hasMod('wpsg_mod_stock') && $this->get_option('wpsg_mod_stock_showBackendStock') == '1') { ?>
+                        <th class="wpsg_order" data-order="stock"><?php echo __("Lagerbestand", 'wpsg'); ?></th>
+                        <?php } ?>
+
+                        <th class="wpsg_order" data-order="mwst"><?php echo __("MwSt.", 'wpsg'); ?></th>
+
+                        <th class="wpsg_order" data-order="price"><?php echo __("Preis", 'wpsg'); ?></th>
+                    </tr>
+                </thead>
+                <tbody>
+                    <?php foreach ($this->view['arData'] as $oProduct) { $d = $oProduct->data; ?>
+                    <tr>
+                        <?php if ($this->hasMod('wpsg_mod_produktbilder')) { ?>
+                        <td class="post-title wpsg_pic_col">
+                            <?php
+
+                                $img = $this->callMod('wpsg_mod_produktbilder', 'getProductImage', array($d['id'], 40, 40, 'c'));
+
+                                if ($img !== false)
+                                {
+
+                                    echo '<a href="'.WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Produkt&amp;action=edit&amp;edit_id='.$d['id'].'" title="'.wpsg_translate(__('Produkt fÃŒr Sprache #1# bearbeiten.', 'wpsg'), $d['name']).'">';
+                                    echo '<img src="'.$img.'" alt="" />';
+                                    echo '</a>';
+
+                                }
+
+                            ?>
+                        </td>
+                        <?php } ?>
+                        <td class="post-title column-title">
+                            <strong><a title="<?php echo __("Dieses Produkt bearbeiten", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&amp;action=edit&amp;edit_id=<?php echo $d['id']; ?>" class="row-title"><?php echo (($d['name'] == "")?__("---- ", "wpsg"):$d['name']); ?></a></strong>
+                            <div class="row-actions">
+                                <span class="edit"><a title="<?php echo __("Dieses Produkt bearbeiten", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&amp;action=edit&amp;edit_id=<?php echo $d['id']; ?>"><?php echo __("Bearbeiten", "wpsg"); ?></a></span>
+                                <?php if ($this->isMultiLingual()) { ?>
+                                <?php foreach ($this->getStoreLanguages() as $l) { ?>
+                                    <?php if ($l['locale'] != $this->getDefaultLanguageLocale()) { ?>
+                                    <a href="<?php echo $this->url(WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Produkt&amp;action=edit&amp;edit_id='.$d['id'].'&amp;wpsg_lang='.$l['locale']); ?>" title="<?php echo wpsg_translate(__('Produkt fÃŒr Sprache #1# bearbeiten.', 'wpsg'), $l['name']); ?>">
+                                        <img src="<?php echo $this->getFlagURL().$l['flag']; ?>" alt="<?php echo wpsg_translate(__('Produkt fÃŒr Sprache #1# bearbeiten.', 'wpsg'), $l['name']); ?>" />
+                                    </a>
+                                    <?php } ?>
+                                <?php } ?>
+                                <?php } ?>
+                                |
+                                <span class="del"><a onclick="if (!confirm('<?php echo __("Sind Sie sicher, dass Sie das Produkt lÃ¶schen wollen?", "wpsg"); ?>')) return false;" title="<?php echo __("Dieses Produkt lÃ¶schen", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&amp;action=del&amp;edit_id=<?php echo $d['id']; ?>&amp;noheader=1"><?php echo __("LÃ¶schen", "wpsg"); ?></a></span>
+                                |
+                                <span class="copy"><a onclick="if (!confirm('<?php echo __("Sind Sie sicher, dass Sie das Produkt kopieren wollen?", "wpsg"); ?>')) return false;" title="<?php echo __("Dieses Produkt kopieren", "wpsg"); ?>" href="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&amp;action=copy&amp;edit_id=<?php echo $d['id']; ?>&amp;noheader=1"><?php echo __("Kopieren", "wpsg"); ?></a></span>
+                                |
+                                <span class="view"><a target="_blank" title="<?php echo __("Dieses Produkt im Frontend ansehen", "wpsg"); ?>" href="<?php echo $this->getProduktLink(array('id' => $d['id'])); ?>"><?php echo __("Ansehen", "wpsg"); ?></a></span>
+                                <?php $this->callMods('produkt_index_editmenu', array(&$d)); ?>
+                            </div>
+                        </td>
+                        <td><?php echo wpsg_hspc($d['anr']); ?></td>
+                        <?php if ($this->hasMod('wpsg_mod_productgroups')) { ?>
+                        <td>
+                            <?php if ($d['pgruppe'] <= 0) { ?>
+                            <?php echo __('Nicht zugewiesen', 'wpsg'); ?>
+                            <?php } else { ?>
+                            <?php echo $oProduct->getProductgroupName(); ?>
+                            <?php } ?>
+                        </td>
+                        <?php } ?>
+                        <?php if ($this->hasMod('wpsg_mod_stock') && $this->get_option('wpsg_mod_stock_showBackendStock') == '1') { ?>
+                        <td>
+                            <div style="line-height:inherit; margin-bottom:0.2em;"><?php echo $d['stock']; ?></div>
+                            <?php if ($this->hasMod('wpsg_mod_varianten')) $arVarianten = $this->callMod('wpsg_mod_varianten', 'loadVarianten', array($d['id'])); if (wpsg_isSizedArray($arVarianten)) { ?>
+                            <div style="line-height:inherit; padding:2px 0px 0px;">
+                                <a class="clueTip" href="#" rel="<?php echo WPSG_URL_WP; ?>wp-admin/admin.php?page=wpsg-Produkt&action=ajax&mod=wpsg_mod_stock&edit_id=<?php echo $d['id']; ?>&noheader=1&wpsg_cmd=getVariInfo"><?php echo __('Variantenbestand', 'wpsg'); ?></a>
+                            </div>
+                            <?php } ?>
+                        </td>
+                        <?php } ?>
+                        <td class="wpsg_mwst_col">
+                            <?php echo strtoupper($d['mwst_key']).' ('.wpsg_ff($oProduct->getDefaultTaxValue(), '%').' '.$this->getDefaultCountry()->kuerzel.')'; ?>
+                        </td>
+                        <td>
+                            <?php echo wpsg_ff($d['preis'], $this->get_option('wpsg_currency')); ?>
+                        </td>
+                    </tr>
+                    <?php } ?>
+                </tbody>
+            </table>
+
+            <?php if ($this->view['pages'] > 1) { ?>
+            <nav class="pagination_wrap pagination_wrap_bottom">
+                <ul class="pagination">
+                    <?php if ($this->view['arFilter']['page'] > 1) { ?>
+                        <li><a onclick="return goPage(<?php echo $this->view['arFilter']['page'] - 1; ?>);" href="#" aria-label="<?php echo __('Vorherige Seite'); ?>"><span aria-hidden="true">&laquo;</span></a></li>
+                    <?php } ?>
+                    <?php for ($i = 1; $i <= $this->view['pages']; $i ++) { ?>
+                        <li class="<?php echo (($i == $this->view['arFilter']['page'])?'active':''); ?>"><a onclick="return goPage(<?php echo $i; ?>);" href="#"><?php echo $i; ?></a></li>
+                    <?php } ?>
+                    <?php if ($this->view['arFilter']['page'] + 1 <= $this->view['pages']) { ?>
+                        <li><a onclick="return goPage(<?php echo $this->view['arFilter']['page'] + 1; ?>);" href="#" aria-label="<?php echo __('NÃ€chste Seite'); ?>"><span aria-hidden="true">&raquo;</span></a></li>
+                    <?php } ?>
+                </ul>
+            </nav>
+            <?php } ?>
+
+            <div class="clearer"></div>
+
 		<?php } else { ?>
-		<p><?php echo __('Keine Produkte in der Datenbank.', 'wpsg'); ?></p>
+
+            <?php echo wpsg_drawForm_AdminboxStart(); ?>
+    		<?php echo __('Keine Produkte in der Datenbank.', 'wpsg'); ?>
+            <?php echo wpsg_drawForm_AdminboxEnd(); ?>
+
 		<?php } ?>
 		
@@ -176,6 +214,6 @@
 <script type="text/javascript">/* <![CDATA[ */
 
-	<?php if (wpsg_isSizedString($this->view['search']['order']) && wpsg_isSizedString($this->view['search']['ascdesc'])) { ?>
-    jQuery('th[data-order="<?php echo $this->view['search']['order']; ?>"]').addClass('wpsg_order_<?php echo strtolower($this->view['search']['ascdesc']); ?>');
+	<?php if (wpsg_isSizedString($this->view['arFilter']['order']) && wpsg_isSizedString($this->view['arFilter']['ascdesc'])) { ?>
+    jQuery('th[data-order="<?php echo @$this->view['arFilter']['order']; ?>"]').addClass('wpsg_order_<?php echo strtolower(@$this->view['arFilter']['ascdesc']); ?>');
     <?php } ?>
 
@@ -183,5 +221,5 @@
 	{
 
-		if (page <= 0 || page == <?php echo $this->view['seite']; ?> || page > <?php echo $this->view['pages']; ?>) return;
+		if (page <= 0 || page == <?php echo @$this->view['arFilter']['page']; ?> || page > <?php echo wpsg_getStr($this->view['pages'], '0'); ?>) return;
 
 		jQuery('#wpsg_seite').val(page);
