Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 1709)
+++ branches/2.8.x/CHANGELOG	(revision 1710)
@@ -13,6 +13,8 @@
 
 
 
+29 Aug-2012 Build 1710 Dietmar Woellbrink (Luisehahne)
+! update folder admin/groups, admin/users, admin/skel/htt
 29 Aug-2012 Build 1709 Dietmar Woellbrink (Luisehahne)
 ! update folder framework class.login, admin/login, admin/skel/htt
 29 Aug-2012 Build 1708 Dietmar Woellbrink (Luisehahne)
Index: branches/2.8.x/wb/admin/groups/save.php
===================================================================
--- branches/2.8.x/wb/admin/groups/save.php	(revision 1709)
+++ branches/2.8.x/wb/admin/groups/save.php	(nonexistent)
@@ -1,66 +0,0 @@
-<?php
-/**
- *
- * @category        admin
- * @package         groups
- * @author          WebsiteBaker Project
- * @copyright       2004-2009, Ryan Djurovich
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource		$HeadURL$
- * @lastmodified    $Date$
- *
- */
-
-// Print admin header
-require('../../config.php');
-require_once(WB_PATH.'/framework/class.admin.php');
-// suppress to print the header, so no new FTAN will be set
-$admin = new admin('Access', 'groups_modify', false);
-// Create a javascript back link
-$js_back = ADMIN_URL.'/groups/index.php';
-
-if (!$admin->checkFTAN())
-{
-	$admin->print_header();
-	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$js_back);
-}
-
-// Check if group group_id is a valid number and doesnt equal 1
-$group_id = intval($admin->checkIDKEY('group_id', 0, $_SERVER['REQUEST_METHOD']));
-if( ($group_id < 2 ) )
-{
-	// if($admin_header) { $admin->print_header(); }
-	$admin->print_header();
-	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'] );
-}
-
-// Gather details entered
-$group_name = $admin->get_post_escaped('group_name');
-
-// Check values
-if($group_name == "") {
-	$admin->print_error($MESSAGE['GROUPS']['GROUP_NAME_BLANK'], $js_back);
-}
-// After check print the header
-$admin->print_header();
-
-// Get system permissions
-require_once(ADMIN_PATH.'/groups/get_permissions.php');
-
-// Update the database
-$query = "UPDATE `".TABLE_PREFIX."groups` SET `name` = '$group_name', `system_permissions` = '$system_permissions', `module_permissions` = '$module_permissions', `template_permissions` = '$template_permissions' WHERE `group_id` = '$group_id'";
-
-$database->query($query);
-if($database->is_error()) {
-	$admin->print_error($database->get_error());
-} else {
-	$admin->print_success($MESSAGE['GROUPS']['SAVED'], ADMIN_URL.'/groups/index.php');
-}
-
-// Print admin footer
-$admin->print_footer();

Property changes on: branches/2.8.x/wb/admin/groups/save.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Revision Id HeadURL
\ No newline at end of property
Deleted: svn:mime-type
## -1 +0,0 ##
-text/plain
\ No newline at end of property
Index: branches/2.8.x/wb/admin/groups/add.php
===================================================================
--- branches/2.8.x/wb/admin/groups/add.php	(revision 1709)
+++ branches/2.8.x/wb/admin/groups/add.php	(nonexistent)
@@ -1,62 +0,0 @@
-<?php
-/**
- *
- * @category        admin
- * @package         groups
- * @author          WebsiteBaker Project
- * @copyright       2004-2009, Ryan Djurovich
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource		$HeadURL$
- * @lastmodified    $Date$
- *
- */
-
-// Print admin header
-require('../../config.php');
-require_once(WB_PATH.'/framework/class.admin.php');
-
-// suppress to print the header, so no new FTAN will be set
-$admin = new admin('Access', 'groups_add', false);
-// Create a javascript back link
-$js_back = ADMIN_URL.'/groups/index.php';
-
-if (!$admin->checkFTAN())
-{
-	$admin->print_header();
-	$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$js_back);
-}
-// After check print the header
-$admin->print_header();
-
-// Gather details entered
-$group_name = mysql_real_escape_string(strip_tags(trim($admin->get_post('group_name'))));
-
-// Check values
-if($group_name == "") {
-	$admin->print_error($MESSAGE['GROUPS']['GROUP_NAME_BLANK'], $js_back);
-}
-$results = $database->query("SELECT * FROM ".TABLE_PREFIX."groups WHERE name = '$group_name'");  
-if($results->numRows()>0) {
-	$admin->print_error($MESSAGE['GROUPS']['GROUP_NAME_EXISTS'], $js_back);  
-}
-
-// Get system and module permissions
-require(ADMIN_PATH.'/groups/get_permissions.php');
-
-// Update the database
-$query = "INSERT INTO ".TABLE_PREFIX."groups (name,system_permissions,module_permissions,template_permissions) VALUES ('$group_name','$system_permissions','$module_permissions','$template_permissions')";
-
-$database->query($query);
-if($database->is_error()) {
-	$admin->print_error($database->get_error());
-} else {
-	$admin->print_success($MESSAGE['GROUPS']['ADDED'], ADMIN_URL.'/groups/index.php');
-}
-
-// Print admin footer
-$admin->print_footer();

Property changes on: branches/2.8.x/wb/admin/groups/add.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Revision Id HeadURL
\ No newline at end of property
Deleted: svn:mime-type
## -1 +0,0 ##
-text/plain
\ No newline at end of property
Index: branches/2.8.x/wb/admin/groups/get_permissions.php
===================================================================
--- branches/2.8.x/wb/admin/groups/get_permissions.php	(revision 1709)
+++ branches/2.8.x/wb/admin/groups/get_permissions.php	(nonexistent)
@@ -1,248 +0,0 @@
-<?php
-/**
- *
- * @category        admin
- * @package         groups
- * @author          Ryan Djurovich, WebsiteBaker Project
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource		$HeadURL$
- * @lastmodified    $Date$
- *
- */
-
-
-if(!defined('WB_PATH')) { exit('Direct access to this file is not allowed'); }
-
-// Get system permissions
-if($admin->get_post('advanced') != 'yes') {
-	$system_permissions['pages'] = $admin->get_post('pages');
-		$system_permissions['pages_view'] = $system_permissions['pages'];
-		$system_permissions['pages_add'] = $system_permissions['pages'];
-		$system_permissions['pages_add_l0'] = $system_permissions['pages'];
-		$system_permissions['pages_settings'] = $system_permissions['pages'];
-		$system_permissions['pages_modify'] = $system_permissions['pages'];
-		$system_permissions['pages_intro'] = $system_permissions['pages'];
-		$system_permissions['pages_delete'] = $system_permissions['pages'];
-	$system_permissions['media'] = $admin->get_post('media');
-		$system_permissions['media_view'] = $system_permissions['media'];
-		$system_permissions['media_upload'] = $system_permissions['media'];
-		$system_permissions['media_rename'] = $system_permissions['media'];
-		$system_permissions['media_delete'] = $system_permissions['media'];
-		$system_permissions['media_create'] = $system_permissions['media'];
-	if($admin->get_post('modules') != '' OR $admin->get_post('templates') != '' OR $admin->get_post('languages') != '') {
-		$system_permissions['addons'] = 1;
-	} else {
-		$system_permissions['addons'] = 0;
-	}
-		$system_permissions['modules'] = $admin->get_post('modules');
-			$system_permissions['modules_view'] = $system_permissions['modules'];
-			$system_permissions['modules_install'] = $system_permissions['modules'];
-			$system_permissions['modules_uninstall'] = $system_permissions['modules'];
-		$system_permissions['templates'] = $admin->get_post('templates');
-			$system_permissions['templates_view'] = $system_permissions['templates'];
-			$system_permissions['templates_install'] = $system_permissions['templates'];
-			$system_permissions['templates_uninstall'] = $system_permissions['templates'];
-		$system_permissions['languages'] = $admin->get_post('languages');
-			$system_permissions['languages_view'] = $system_permissions['languages'];
-			$system_permissions['languages_install'] = $system_permissions['languages'];
-			$system_permissions['languages_uninstall'] = $system_permissions['languages'];
-	$system_permissions['settings'] = $admin->get_post('settings');
-		$system_permissions['settings_basic'] = $system_permissions['settings'];
-		$system_permissions['settings_advanced'] = $system_permissions['settings'];
-	if($admin->get_post('users') != '' OR $admin->get_post('groups') != '') {
-		$system_permissions['access'] = 1;
-	} else {
-		$system_permissions['access'] = 0;
-	}
-	$system_permissions['users'] = $admin->get_post('users');
-	$system_permissions['users_view'] = $system_permissions['users'];
-	$system_permissions['users_add'] = $system_permissions['users'];
-	$system_permissions['users_modify'] = $system_permissions['users'];
-	$system_permissions['users_delete'] = $system_permissions['users'];
-	$system_permissions['groups'] = $admin->get_post('groups');
-	$system_permissions['groups_view'] = $system_permissions['groups'];
-	$system_permissions['groups_add'] = $system_permissions['groups'];
-	$system_permissions['groups_modify'] = $system_permissions['groups'];
-	$system_permissions['groups_delete'] = $system_permissions['groups'];
-	$system_permissions['admintools'] = $admin->get_post('admintools');
-	$system_permissions['admintools_settings'] = $system_permissions['admintools'];
-} else {
-	// Pages
-	$system_permissions['pages_view'] = $admin->get_post('pages_view');
-		$system_permissions['pages_add'] = $admin->get_post('pages_add');
-	if($admin->get_post('pages_add') != 1 AND $admin->get_post('pages_add_l0') == 1) {
-		$system_permissions['pages_add'] = $admin->get_post('pages_add_l0');
-	}
-	$system_permissions['pages_add_l0'] = $admin->get_post('pages_add_l0');
-	$system_permissions['pages_settings'] = $admin->get_post('pages_settings');
-	$system_permissions['pages_modify'] = $admin->get_post('pages_modify');
-	$system_permissions['pages_intro'] = $admin->get_post('pages_intro');
-	$system_permissions['pages_delete'] = $admin->get_post('pages_delete');
-	if($system_permissions['pages_view'] == 1 OR $system_permissions['pages_add'] == 1 OR $system_permissions['pages_settings'] == 1 OR $system_permissions['pages_modify'] == 1 OR $system_permissions['pages_intro'] == 1 OR $system_permissions['pages_delete'] == 1) {
-		$system_permissions['pages'] = 1;
-	} else {
-		$system_permissions['pages'] = '';
-	}
-	// Media
-	$system_permissions['media_view'] = $admin->get_post('media_view');
-	$system_permissions['media_upload'] = $admin->get_post('media_upload');
-	$system_permissions['media_rename'] = $admin->get_post('media_rename');
-	$system_permissions['media_delete'] = $admin->get_post('media_delete');
-	$system_permissions['media_create'] = $admin->get_post('media_create');
-	if($system_permissions['media_view'] == 1 OR $system_permissions['media_upload'] == 1 OR $system_permissions['media_rename'] == 1 OR $system_permissions['media_delete'] == 1 OR $system_permissions['media_create'] == 1) {
-		$system_permissions['media'] = 1;
-	} else {
-		$system_permissions['media'] = '';
-	}
-	// Add-ons
-		// Modules
-		$system_permissions['modules_view'] = $admin->get_post('modules_view');
-		$system_permissions['modules_install'] = $admin->get_post('modules_install');
-		$system_permissions['modules_uninstall'] = $admin->get_post('modules_uninstall');
-		if($system_permissions['modules_view'] == 1 OR $system_permissions['modules_install'] == 1 OR $system_permissions['modules_uninstall'] == 1) {
-			$system_permissions['modules'] = 1;
-		} else {
-			$system_permissions['modules'] = '';
-		}
-		// Templates
-		$system_permissions['templates_view'] = $admin->get_post('templates_view');
-		$system_permissions['templates_install'] = $admin->get_post('templates_install');
-		$system_permissions['templates_uninstall'] = $admin->get_post('templates_uninstall');
-		if($system_permissions['templates_view'] == 1 OR $system_permissions['templates_install'] == 1 OR $system_permissions['templates_uninstall'] == 1) {
-			$system_permissions['templates'] = 1;
-		} else {
-			$system_permissions['templates'] = '';
-		}
-		// Languages
-		$system_permissions['languages_view'] = $admin->get_post('languages_view');
-		$system_permissions['languages_install'] = $admin->get_post('languages_install');
-		$system_permissions['languages_uninstall'] = $admin->get_post('languages_uninstall');
-		if($system_permissions['languages_install'] == 1 OR $system_permissions['languages_uninstall'] == 1) {
-			$system_permissions['languages'] = 1;
-		} else {
-			$system_permissions['languages'] = '';
-		}
-		// Admintools
-		$system_permissions['admintools_settings'] = $admin->get_post('admintools_settings');
-		if($system_permissions['admintools_settings'] == 1) {
-			$system_permissions['admintools'] = 1;
-		} else {
-			$system_permissions['admintools'] = '';
-		}
-	if($system_permissions['modules'] == 1 OR $system_permissions['templates'] == 1 OR $system_permissions['languages'] == 1) {
-		$system_permissions['addons'] = 1;
-	} else {
-		$system_permissions['addons'] = '';
-	}
-	// Settings
-	$system_permissions['settings_basic'] = $admin->get_post('settings_basic');
-	$system_permissions['settings_advanced'] = $admin->get_post('settings_advanced');
-	if($system_permissions['settings_basic'] == 1 OR $system_permissions['settings_advanced'] == 1) {
-		$system_permissions['settings'] = 1;
-	} else {
-		$system_permissions['settings'] = '';
-	}
-	// Access
-		// Users
-		$system_permissions['users_view'] = $admin->get_post('users_view');
-		$system_permissions['users_add'] = $admin->get_post('users_add');
-		$system_permissions['users_modify'] = $admin->get_post('users_modify');
-		$system_permissions['users_delete'] = $admin->get_post('users_delete');
-		if($system_permissions['users_view'] == 1 OR $system_permissions['users_add'] == 1 OR $system_permissions['users_modify'] == 1 OR $system_permissions['users_delete'] == 1) {
-			$system_permissions['users'] = 1;
-		} else {
-			$system_permissions['users'] = '';
-		}
-		// Groups
-		$system_permissions['groups_view'] = $admin->get_post('groups_view');
-		$system_permissions['groups_add'] = $admin->get_post('groups_add');
-		$system_permissions['groups_modify'] = $admin->get_post('groups_modify');
-		$system_permissions['groups_delete'] = $admin->get_post('groups_delete');
-		if($system_permissions['groups_view'] == 1 OR $system_permissions['groups_add'] == 1 OR $system_permissions['groups_modify'] == 1 OR $system_permissions['groups_delete'] == 1) {
-			$system_permissions['groups'] = 1;
-		} else {
-			$system_permissions['groups'] = '';
-		}
-	if($system_permissions['users'] == 1 OR $system_permissions['groups'] == 1) {
-		$system_permissions['access'] = 1;
-	} else {
-		$system_permissions['access'] = '';
-	}
-}
-
-// Implode system permissions
-$imploded_system_permissions = '';
-foreach($system_permissions AS $name => $value) {
-	if($value == true) {
-		if($imploded_system_permissions == '') {
-			$imploded_system_permissions = $name;
-		} else {
-			$imploded_system_permissions .= ','.$name;
-		}
-	}
-}
-
-$system_permissions = $imploded_system_permissions;
-
-// Get module permissions
-$module_permissions = '';
-if($handle = opendir(WB_PATH.'/modules/')) {
-	while (false !== ($file = readdir($handle))) {
-		if($file != "." AND $file != ".." AND $file != ".svn" AND is_dir(WB_PATH."/modules/$file") AND file_exists(WB_PATH."/modules/$file/info.php")) {
-			// Include the modules info file
-			require(WB_PATH.'/modules/'.$file.'/info.php');
-			// Check if it was selected to be used or not
-			$count = 0;
-			if(is_array($admin->get_post('module_permissions'))) {
-				foreach($admin->get_post('module_permissions') AS $selected_name) {
-					if($file == $selected_name) {
-						$count = $count+1;
-					}
-				}
-			}
-			if($count == 0) {
-				// Add unselected modules to list
-				if($module_permissions == '') {
-					$module_permissions = $file;
-				} else {
-					$module_permissions .= ','.$file;
-				}
-			}
-		}
-	}
-}
-
-// Get template permissions
-$template_permissions = '';
-if($handle = opendir(WB_PATH.'/templates/')) {
-	while (false !== ($file = readdir($handle))) {
-		if($file != "." AND $file != ".." AND $file != ".svn" AND is_dir(WB_PATH."/templates/$file") AND file_exists(WB_PATH."/templates/$file/info.php")) {
-			// Include the modules info file
-			require(WB_PATH.'/templates/'.$file.'/info.php');
-			// Check if it was selected to be used or not
-			$count = 0;
-			if(is_array($admin->get_post('template_permissions'))) {
-				foreach($admin->get_post('template_permissions') AS $selected_name) {
-					if($file == $selected_name) {
-						$count = $count+1;
-					}
-				}
-			}
-			if($count == 0) {
-				// Add unselected modules to list
-				if($template_permissions == '') {
-					$template_permissions = $file;
-				} else {
-					$template_permissions .= ','.$file;
-				}
-			}
-		}
-	}
-}
-
-?>
\ No newline at end of file

Property changes on: branches/2.8.x/wb/admin/groups/get_permissions.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Revision Id HeadURL
\ No newline at end of property
Deleted: svn:mime-type
## -1 +0,0 ##
-text/plain
\ No newline at end of property
Index: branches/2.8.x/wb/admin/groups/groups.php
===================================================================
--- branches/2.8.x/wb/admin/groups/groups.php	(revision 1709)
+++ branches/2.8.x/wb/admin/groups/groups.php	(nonexistent)
@@ -1,198 +0,0 @@
-<?php
-/**
- *
- * @category        admin
- * @package         groups
- * @author          Ryan Djurovich, WebsiteBaker Project
- * @copyright       2009-2011, Website Baker Org. e.V.
- * @link			http://www.websitebaker2.org/
- * @license         http://www.gnu.org/licenses/gpl.html
- * @platform        WebsiteBaker 2.8.x
- * @requirements    PHP 5.2.2 and higher
- * @version         $Id$
- * @filesource		$HeadURL$
- * @lastmodified    $Date$
- *
- */
-
-// Include config file and admin class file
-require('../../config.php');
-require_once(WB_PATH.'/framework/class.admin.php');
-
-// Set parameter 'action' as alternative to javascript mechanism
-$action = 'cancel';
-// Set parameter 'action' as alternative to javascript mechanism
-$action = (isset($_POST['action']) && ($_POST['action'] ='modify')   ? 'modify' : $action );
-$action = (isset($_POST['modify']) ? 'modify' : $action );
-$action = (isset($_POST['delete']) ? 'delete' : $action );
-
-switch ($action):
-	case 'modify' :
-
-			// Create new admin object
-			$admin = new admin('Access', 'groups_modify' );
-			// Check if group group_id is a valid number and doesnt equal 1
-			$group_id = intval($admin->checkIDKEY('group_id', 0, $_SERVER['REQUEST_METHOD']));
-            if($group_id == 0){
-				$admin->print_error($MESSAGE['USERS_NO_GROUP'] );
-            }
-			if( ($group_id < 2 ) )
-			{
-				// if($admin_header) { $admin->print_header(); }
-				$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'] );
-			}
-
-			// Get existing values
-			$results = $database->query("SELECT * FROM ".TABLE_PREFIX."groups WHERE group_id = '".$group_id."'");
-			$group = $results->fetchRow();
-			// Setup template object, parse vars to it, then parse it
-			// Create new template object
-			$template = new Template(dirname($admin->correct_theme_source('groups_form.htt')));
-			// $template->debug = true;
-			$template->set_file('page', 'groups_form.htt');
-			$template->set_block('page', 'main_block', 'main');
-			$template->set_var(	array(
-									'ACTION_URL' => ADMIN_URL.'/groups/save.php',
-									'SUBMIT_TITLE' => $TEXT['SAVE'],
-									'GROUP_ID' => $admin->getIDKEY($group['group_id']),
-									'GROUP_NAME' => $group['name'],
-									'ADVANCED_LINK' => 'groups.php',
-									'FTAN' => $admin->getFTAN()
-								));
-			// Tell the browser whether or not to show advanced options
-			if( true == (isset( $_POST['advanced']) AND ( strpos( $_POST['advanced'], ">>") > 0 ) ) ) {
-				$template->set_var('DISPLAY_ADVANCED', '');
-				$template->set_var('DISPLAY_BASIC', 'display:none;');
-				$template->set_var('ADVANCED', 'yes');
-				$template->set_var('ADVANCED_BUTTON', '&lt;&lt; '.$TEXT['HIDE_ADVANCED']);
-			} else {
-				$template->set_var('DISPLAY_ADVANCED', 'display:none;');
-				$template->set_var('DISPLAY_BASIC', '');
-				$template->set_var('ADVANCED', 'no');
-				$template->set_var('ADVANCED_BUTTON', $TEXT['SHOW_ADVANCED'].'  &gt;&gt;');
-			}
-
-			// Explode system permissions
-			$system_permissions = explode(',', $group['system_permissions']);
-			// Check system permissions boxes
-			foreach($system_permissions AS $name) {
-					$template->set_var($name.'_checked', ' checked="checked"');
-			}
-			// Explode module permissions
-			$module_permissions = explode(',', $group['module_permissions']);
-			// Explode template permissions
-			$template_permissions = explode(',', $group['template_permissions']);
-
-			// Insert values into module list
-			$template->set_block('main_block', 'module_list_block', 'module_list');
-			$result = $database->query('SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "module" AND `function` = "page" ORDER BY `name`');
-			if($result->numRows() > 0) {
-				while($addon = $result->fetchRow()) {
-					$template->set_var('VALUE', $addon['directory']);
-					$template->set_var('NAME', $addon['name']);
-					if(!is_numeric(array_search($addon['directory'], $module_permissions))) {
-						$template->set_var('CHECKED', ' checked="checked"');
-					} else {
-						$template->set_var('CHECKED', '');
-					}
-					$template->parse('module_list', 'module_list_block', true);
-				}
-			}
-
-			// Insert values into template list
-			$template->set_block('main_block', 'template_list_block', 'template_list');
-			$result = $database->query('SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "template" ORDER BY `name`');
-			if($result->numRows() > 0) {
-				while($addon = $result->fetchRow()) {
-					$template->set_var('VALUE', $addon['directory']);
-					$template->set_var('NAME', $addon['name']);
-					if(!is_numeric(array_search($addon['directory'], $template_permissions))) {
-						$template->set_var('CHECKED', ' checked="checked"');
-					} else {
-						$template->set_var('CHECKED', '');
-					}
-					$template->parse('template_list', 'template_list_block', true);
-				}
-			}
-
-			// Insert language text and messages
-			$template->set_var(array(
-						'TEXT_RESET' => $TEXT['RESET'],
-						'TEXT_ACTIVE' => $TEXT['ACTIVE'],
-						'TEXT_DISABLED' => $TEXT['DISABLED'],
-						'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
-						'TEXT_USERNAME' => $TEXT['USERNAME'],
-						'TEXT_PASSWORD' => $TEXT['PASSWORD'],
-						'TEXT_RETYPE_PASSWORD' => $TEXT['RETYPE_PASSWORD'],
-						'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'],
-						'TEXT_EMAIL' => $TEXT['EMAIL'],
-						'TEXT_GROUP' => $TEXT['GROUP'],
-						'TEXT_SYSTEM_PERMISSIONS' => $TEXT['SYSTEM_PERMISSIONS'],
-						'TEXT_MODULE_PERMISSIONS' => $TEXT['MODULE_PERMISSIONS'],
-						'TEXT_TEMPLATE_PERMISSIONS' => $TEXT['TEMPLATE_PERMISSIONS'],
-						'TEXT_NAME' => $TEXT['NAME'],
-						'SECTION_PAGES' => $MENU['PAGES'],
-						'SECTION_MEDIA' => $MENU['MEDIA'],
-						'SECTION_MODULES' => $MENU['MODULES'],
-						'SECTION_TEMPLATES' => $MENU['TEMPLATES'],
-						'SECTION_LANGUAGES' => $MENU['LANGUAGES'],
-						'SECTION_SETTINGS' => $MENU['SETTINGS'],
-						'SECTION_USERS' => $MENU['USERS'],
-						'SECTION_GROUPS' => $MENU['GROUPS'],
-						'SECTION_ADMINTOOLS' => $MENU['ADMINTOOLS'],
-						'TEXT_VIEW' => $TEXT['VIEW'],
-						'TEXT_ADD' => $TEXT['ADD'],
-						'TEXT_LEVEL' => $TEXT['LEVEL'],
-						'TEXT_MODIFY' => $TEXT['MODIFY'],
-						'TEXT_DELETE' => $TEXT['DELETE'],
-						'TEXT_MODIFY_CONTENT' => $TEXT['MODIFY_CONTENT'],
-						'TEXT_MODIFY_SETTINGS' => $TEXT['MODIFY_SETTINGS'],
-						'HEADING_MODIFY_INTRO_PAGE' => $HEADING['MODIFY_INTRO_PAGE'],
-						'TEXT_CREATE_FOLDER' => $TEXT['CREATE_FOLDER'],
-						'TEXT_RENAME' => $TEXT['RENAME'],
-						'TEXT_UPLOAD_FILES' => $TEXT['UPLOAD_FILES'],
-						'TEXT_BASIC' => $TEXT['BASIC'],
-						'TEXT_ADVANCED' => $TEXT['ADVANCED'],
-						'CHANGING_PASSWORD' => $MESSAGE['USERS']['CHANGING_PASSWORD'],
-						'HEADING_MODIFY_GROUP' => $HEADING['MODIFY_GROUP'],
-					));
-
-			// Parse template object
-			$template->parse('main', 'main_block', false);
-			$template->pparse('output', 'page');
-			// Print admin footer
-			$admin->print_footer();			break;
-		case 'delete' :
-			// Create new admin object
-			$admin = new admin('Access', 'groups_delete');
-			$group_id = intval($admin->checkIDKEY('group_id', 0, $_SERVER['REQUEST_METHOD']));
-            if($group_id == 0){
-				$admin->print_error($MESSAGE['USERS_NO_GROUP'] );
-            }
-			// Check if user id is a valid number and doesnt equal 1
-			if( ($group_id < 2 ) )
-			{
-				// if($admin_header) { $admin->print_header(); }
-				$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'] );
-			}
-			// Print header
-			$admin->print_header();
-			// Delete the group
-			$database->query("DELETE FROM `".TABLE_PREFIX."groups` WHERE `group_id` = '".$group_id."' LIMIT 1");
-			if($database->is_error()) {
-				$admin->print_error($database->get_error());
-			} else {
-				// Delete users in the group
-				$database->query("DELETE FROM `".TABLE_PREFIX."users` WHERE `group_id` = '".$group_id."'");
-				if($database->is_error()) {
-					$admin->print_error($database->get_error());
-				} else {
-					$admin->print_success($MESSAGE['GROUPS']['DELETED']);
-				}
-			}
-			// Print admin footer
-			$admin->print_footer();
-			break;
-	default:
-			break;
-endswitch;

Property changes on: branches/2.8.x/wb/admin/groups/groups.php
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Revision Id HeadURL
\ No newline at end of property
Deleted: svn:mime-type
## -1 +0,0 ##
-text/plain
\ No newline at end of property
Index: branches/2.8.x/wb/admin/groups/delete.inc.php
===================================================================
--- branches/2.8.x/wb/admin/groups/delete.inc.php	(nonexistent)
+++ branches/2.8.x/wb/admin/groups/delete.inc.php	(revision 1710)
@@ -0,0 +1,84 @@
+<?php
+/**
+ * @category        admin
+ * @package         groups
+ * @author          Independend-Software-Team
+ * @author          WebsiteBaker Project
+ * @copyright       2009-2012, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 5.2.2 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ * @description     all basic actions of this module, called by dispatcher only.
+ */
+
+// Must include code to stop this file being access directly
+if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
+
+/* *****************************************************************************
+ * Delete an existing group and remove existing group in user
+ * @access public
+ * @param object $admin: admin-object
+ * @param int $group_id: ID from group to delete
+ * @return bool: true or false
+ */
+	function delete_group($admin, $group_id = 0)
+	{
+		global $MESSAGE;
+		$database = WbDatabase::getInstance();
+	// first check form-tan
+		if($admin->checkFTAN())
+		{
+			if($group_id > 1) // prevent admin [ID 1] from being deleted
+			{
+				$sql = 'SELECT `name` FROM `'.TABLE_PREFIX.'groups` WHERE `group_id` = '.$group_id;
+				$groupname = ($database->get_one($sql));
+				// $sql  = 'SELECT * FROM `'.TABLE_PREFIX.'groups` ';
+				$sql  = 'DELETE FROM `'.TABLE_PREFIX.'groups` ';
+				$sql .= 'WHERE `group_id` = '.$group_id;
+				if($database->query($sql) != false)
+				{
+	// remove group from users groups_id
+					msgQueue :: add($MESSAGE['GROUPS_DELETED'],true);
+					$sql = 'SELECT `user_id`, `groups_id`, `home_folder` FROM `'.TABLE_PREFIX.'users` WHERE user_id != 1';
+					if(($res_users = $database->query($sql)) && ($res_users->numRows() > 0) )
+					{
+						while($rec_users = $res_users->fetchRow(MYSQL_ASSOC))
+						{
+							$user_id = $rec_users['user_id'];
+                            $groups_id = explode(',',$rec_users['groups_id']);
+
+							if( is_numeric($x = array_search($group_id, $groups_id)) )
+							{
+	                            unset($groups_id[$x]);
+	                            $groups_id = (sizeof($groups_id) == 0) ? FRONTEND_SIGNUP : implode(',',$groups_id);
+                                $groups_id = ( ($groups_id == 1) && (trim($rec_users['home_folder']) != '') ) ? FRONTEND_SIGNUP : $groups_id;
+								$sql  = 'UPDATE `'.TABLE_PREFIX.'users` SET ';
+								$sql .= '`groups_id` = \''.$groups_id.'\' ';
+								$sql .= 'WHERE `user_id` = '.$user_id;
+								if( $database->query($sql) )
+								{
+				                    $sql_info = mysql_info($database->db_handle);
+									if(preg_match('/matched: *([1-9][0-9]*)/i', $sql_info) != 1)
+									{
+										msgQueue :: add($MESSAGE['RECORD_MODIFIED_FAILED']);
+									}
+								} else {
+
+									msgQueue :: add($database->get_error());
+								}
+							}
+                        }
+                    }
+					// $admin->print_success($msg);
+				} else {
+					msgQueue :: add($MESSAGE['RECORD_MODIFIED_FAILED']);
+				}
+			}
+		} else {
+			msgQueue :: add($MESSAGE['GENERIC_SECURITY_OFFENSE']);
+		}
+	}

Property changes on: branches/2.8.x/wb/admin/groups/delete.inc.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/groups/languages/EN.php
===================================================================
--- branches/2.8.x/wb/admin/groups/languages/EN.php	(nonexistent)
+++ branches/2.8.x/wb/admin/groups/languages/EN.php	(revision 1710)
@@ -0,0 +1,72 @@
+<?php
+/****************************************************************************************
+ * extended language definition for WebsiteBaker                                        *
+ * ACP-module  pages                                                                    *
+ * english (GB)                                                                         *
+ ****************************************************************************************/
+
+$HEADING['ADD_GROUP'] = 'Add Group';
+$HEADING['ADD_GROUPS'] = 'Add Groups';
+$HEADING['MODIFY_DELETE_GROUP'] = 'Modify/Delete Group';
+$HEADING['MODIFY_DELETE_PAGE'] = 'Modify/Delete Page';
+$HEADING['MODIFY_DELETE_USER'] = 'Modify/Delete User';
+$HEADING['MODIFY_GROUP'] = 'Modify Group';
+$HEADING['MODIFY_GROUPS'] = 'Modify Groups';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Modify Intro Page';
+$HEADING['VIEW_GROUP'] = 'View Group';
+$HEADING['VIEW_GROUPS'] = 'View Groups';
+
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['GROUP'] = 'Group';
+$MENU['GROUPS'] = 'Groups';
+$MENU['HELP'] = 'Help';
+$MENU['LANGUAGES'] = 'Languages';
+$MENU['LOGIN'] = 'Login';
+$MENU['LOGOUT'] = 'Log-out';
+$MENU['MEDIA'] = 'Media';
+$MENU['MODULES'] = 'Modules';
+$MENU['PAGES'] = 'Pages';
+$MENU['PREFERENCES'] = 'Preferences';
+$MENU['USER_PREFERENCES'] = 'User Preferences';
+$MENU['SETTINGS'] = 'Settings';
+$MENU['START'] = 'Start';
+$MENU['TEMPLATES'] = 'Templates';
+$MENU['USERS'] = 'Users';
+$MENU['VIEW'] = 'View';
+
+$MESSAGE['PAGES_LAST_MODIFIED'] = 'Last modification by';
+
+$TEXT['ACTIONS'] = 'Actions';
+$TEXT['ACTIVE'] = 'Active';
+$TEXT['ADD'] = 'Add';
+$TEXT['ADVANCED'] = 'Advanced';
+$TEXT['BACK'] = 'Back';
+$TEXT['BASIC'] = 'Basic';
+$TEXT['CANCEL'] = 'Cancel';
+$TEXT['CREATE_FOLDER'] = 'Create Folder';
+$TEXT['DELETE'] = 'Delete';
+$TEXT['DELETED'] = 'Deleted';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Filesystem Permissions';
+$TEXT['GROUP'] = 'Group';
+$TEXT['HIDE_ADVANCED'] = 'Hide Advanced Options';
+$TEXT['LANGUAGE'] = 'Language';
+$TEXT['LEVEL'] = 'Level';
+$TEXT['MANAGE_GROUPS'] = 'Manage Groups';
+$TEXT['MANAGE_USERS'] = 'Manage Users';
+$TEXT['MODIFY'] = 'Modify';
+$TEXT['MODIFY_CONTENT'] = 'Modify Content';
+$TEXT['MODIFY_SETTINGS'] = 'Modify Settings';
+$TEXT['MODULE_PERMISSIONS'] = 'Module Permissions';
+$TEXT['PLEASE_SELECT'] = 'Please select';
+$TEXT['RENAME'] = 'Rename';
+$TEXT['RESET'] = 'Reset';
+$TEXT['SAVE'] = 'Save';
+$TEXT['SHOW'] = 'Show';
+$TEXT['SHOW_ADVANCED'] = 'Show Advanced Options';
+$TEXT['SYSTEM_DEFAULT'] = 'System Default';
+$TEXT['SYSTEM_PERMISSIONS'] = 'System Permissions';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Template Permissions';
+$TEXT['UPLOAD_FILES'] = 'Upload File(s)';
+$TEXT['VIEW'] = 'View';
+$TEXT['VIEW_DETAILS'] = 'View Details';
+$TEXT['VISIBILITY'] = 'Visibility';

Property changes on: branches/2.8.x/wb/admin/groups/languages/EN.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/groups/languages/DE.php
===================================================================
--- branches/2.8.x/wb/admin/groups/languages/DE.php	(nonexistent)
+++ branches/2.8.x/wb/admin/groups/languages/DE.php	(revision 1710)
@@ -0,0 +1,74 @@
+<?php
+/****************************************************************************************
+ * extended language definition for WebsiteBaker                                        *
+ * ACP-module  groups                                                                    *
+ * deutsch                                                                              *
+ ****************************************************************************************/
+
+
+
+$HEADING['ADD_GROUP'] = 'Gruppe hinzufügen';
+$HEADING['ADD_GROUPS'] = 'Gruppen hinzufügen';
+$HEADING['MODIFY_DELETE_GROUP'] = 'Ändern/Löschen von Gruppen';
+$HEADING['MODIFY_DELETE_PAGE'] = 'Seite ändern/Seite löschen';
+$HEADING['MODIFY_DELETE_USER'] = 'Ändern/Löschen von Benutzern';
+$HEADING['MODIFY_GROUP'] = 'Gruppe ändern';
+$HEADING['MODIFY_GROUPS'] = 'Gruppen ändern';
+$HEADING['MODIFY_INTRO_PAGE'] = 'Eingangsseite ändern';
+$HEADING['VIEW_GROUP'] = 'Gruppe Ansicht';
+$HEADING['VIEW_GROUPS'] = 'Gruppen Ansicht';
+
+$MENU['ADMINTOOLS'] = 'Admin-Tools';
+$MENU['GROUP'] = 'Gruppe';
+$MENU['GROUPS'] = 'Gruppen';
+$MENU['HELP'] = 'Hilfe';
+$MENU['LANGUAGES'] = 'Sprachen';
+$MENU['LOGIN'] = 'Anmeldung';
+$MENU['LOGOUT'] = 'Abmelden';
+$MENU['MEDIA'] = 'Medien';
+$MENU['MODULES'] = 'Module';
+$MENU['PAGES'] = 'Seiten';
+$MENU['PREFERENCES'] = 'Einstellungen';
+$MENU['USER_PREFERENCES'] = 'User Einstellungen';
+$MENU['SETTINGS'] = 'Optionen';
+$MENU['START'] = 'Start';
+$MENU['TEMPLATES'] = 'Designvorlagen';
+$MENU['USERS'] = 'Benutzer';
+$MENU['VIEW'] = 'Ansicht';
+
+$MESSAGE['PAGES_LAST_MODIFIED'] = 'Letzte Änderung durch';
+
+$TEXT['ACTIONS'] = 'Aktionen';
+$TEXT['ACTIVE'] = 'Aktiv';
+$TEXT['ADD'] = 'Hinzufügen';
+$TEXT['ADVANCED'] = 'Erweitert';
+$TEXT['BACK'] = 'Zurück';
+$TEXT['BASIC'] = 'Einfach';
+$TEXT['CANCEL'] = 'Abbrechen';
+$TEXT['CREATE_FOLDER'] = 'Ordner anlegen';
+$TEXT['DELETE'] = 'Entfernen';
+$TEXT['DELETED'] = 'Gelöscht';
+$TEXT['FILESYSTEM_PERMISSIONS'] = 'Zugriffsrechte';
+$TEXT['GROUP'] = 'Gruppe';
+$TEXT['HIDE_ADVANCED'] = 'Erweiterte Optionen verdecken';
+$TEXT['LANGUAGE'] = 'Sprache';
+$TEXT['LEVEL'] = 'Ebene';
+$TEXT['MANAGE_GROUPS'] = 'Gruppen verwalten';
+$TEXT['MANAGE_USERS'] = 'Benutzer verwalten';
+$TEXT['MODIFY'] = 'Ändern';
+$TEXT['MODIFY_CONTENT'] = 'Inhalt ändern';
+$TEXT['MODIFY_SETTINGS'] = 'Optionen ändern';
+$TEXT['MODULE_PERMISSIONS'] = 'Modulberechtigungen';
+$TEXT['PLEASE_SELECT'] = 'Bitte auswählen';
+$TEXT['RENAME'] = 'Umbenennen';
+$TEXT['RESET'] = 'Zurücksetzen';
+$TEXT['SAVE'] = 'Speichern';
+$TEXT['SHOW'] = 'zeigen';
+$TEXT['SHOW_ADVANCED'] = 'Erweiterte Optionen anzeigen';
+$TEXT['SYSTEM_DEFAULT'] = 'Standardeinstellung';
+$TEXT['SYSTEM_PERMISSIONS'] = 'Zugangsberechtigungen';
+$TEXT['TEMPLATE_PERMISSIONS'] = 'Zugriffsrechte für Vorlagen';
+$TEXT['UPLOAD_FILES'] = 'Datei(en) übertragen';
+$TEXT['VIEW'] = 'Ansicht';
+$TEXT['VIEW_DETAILS'] = 'Details';
+$TEXT['VISIBILITY'] = 'Sichtbarkeit';

Property changes on: branches/2.8.x/wb/admin/groups/languages/DE.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/groups/groups_list.inc.php
===================================================================
--- branches/2.8.x/wb/admin/groups/groups_list.inc.php	(nonexistent)
+++ branches/2.8.x/wb/admin/groups/groups_list.inc.php	(revision 1710)
@@ -0,0 +1,151 @@
+<?php
+/**
+ * @category        admin
+ * @package         groups
+ * @author          WebsiteBaker Project, Independend-Software-Team
+ * @copyright       2009-2012, WebsiteBaker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 5.2.2 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ * @description     all basic actions of this module, called by dispatcher only.
+ */
+
+// Must include code to stop this file being access directly
+if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
+
+/* *****************************************************************************
+ * Show groupslist with delete-/ modify-button
+ * @access public
+ * @param object $admin: admin-object
+ * @return string: parsed HTML-content
+ */
+	function show_grouplist($admin)
+	{
+//		global $TEXT, $MESSAGE, $MENU, $HEADING;
+		$database = WbDatabase::getInstance();
+		$mLang = ModLanguage::getInstance();
+// Create new template object for the modify/remove section
+		$tpl = new Template(dirname($admin->correct_theme_source('groups_list.htt')),'keep');
+		$tpl->set_file('page', 'groups_list.htt');
+		$tpl->set_block('page', 'main_block', 'main');
+
+		$tpl->set_var('ACTION_URL', $_SERVER['SCRIPT_NAME']);
+		$tpl->set_var('FTAN', $admin->getFTAN());
+
+// -- if permission then activate link 'manage users'
+		$tpl->set_block('main_block', 'show_cmd_manage_users_block', 'show_cmd_manage_users');
+		if($admin->get_permission('users') == true)
+		{
+			$tpl->set_var('TEXT_MANAGE_USERS', $mLang->TEXT_MANAGE_USERS);
+			$tpl->set_var('LINK_MANAGE_USERS', ADMIN_URL.'/users/index'.PAGE_EXTENSION);
+			$tpl->parse('show_cmd_manage_users', 'show_cmd_manage_users_block', true);
+		}else { // switch off cmd_manage_groups_block
+			$tpl->parse('show_cmd_manage_users', '');
+		}
+
+		$tpl->set_block('main_block', 'show_cmd_group_list_block', 'show_cmd_group_list');
+		if( $admin->get_permission('groups_view') == true )
+		{
+			$tpl->set_var('CONTENT_HEADER', $mLang->HEADING_VIEW_GROUPS);
+			if( ($admin->get_permission('groups_modify') == true) )
+			{
+			$tpl->set_var('CONTENT_HEADER', $mLang->HEADING_MODIFY_DELETE_GROUP);
+			}
+		}
+
+		$tpl->set_var('FORM_NAME_GROUPLIST', 'frm_group_list');
+
+// -- build grouplist from database
+		$tpl->set_block('show_cmd_group_list_block', 'grouplist_block', 'grouplist');
+		// Insert first value to say please select
+		// $tpl->set_var('GROUP_ID',   $admin->getIDKEY(0));
+		$tpl->set_var('GROUP_ID', 0);
+		$tpl->set_var('GROUP_NAME', '');
+		$tpl->set_var('GROUP_DISPLAY_NAME', $mLang->TEXT_PLEASE_SELECT.'...');
+		$tpl->set_var('CSS_GROUP_DELETED', '');
+
+		$tpl->parse('grouplist', 'grouplist_block', true);
+		$sql  = 'SELECT `group_id`, `name` ';
+		$sql .= 'FROM `'.TABLE_PREFIX.'groups` ';
+		$sql .= 'WHERE `group_id` > 1 ORDER BY `name` ';
+		if( ($res_groups = $database->query($sql)) != false )
+		{
+			while($rec_group = $res_groups->fetchRow(MYSQL_ASSOC))
+			{
+				// $tpl->set_var('GROUP_ID', $admin->getIDKEY($rec_group['group_id']));
+				$tpl->set_var('GROUP_ID', $rec_group['group_id']);
+				$tpl->set_var('GROUP_NAME', $rec_group['name']);
+				$tpl->set_var('GROUP_DISPLAY_NAME', $rec_group['name']);
+				$tpl->parse('grouplist', 'grouplist_block', true);
+			}
+		}
+
+		$sPermission = 'none';
+		$sPermission = $admin->get_permission('groups_view') ? 'permView' : $sPermission;
+		$sPermission = $admin->get_permission('groups_add') ? 'permAdd' : $sPermission;
+		$sPermission = $admin->get_permission('groups_modify') ? 'permModify' : $sPermission;
+
+// 		if( ($admin->get_permission('groups_modify') == false) && ($admin->get_permission('groups_delete') == false) )
+		if( ($admin->get_permission('groups') == false) )
+		{
+			$tpl->parse('show_cmd_group_list', '');
+        } else {
+			$tpl->parse('show_cmd_group_list', 'show_cmd_group_list_block', true);
+	// -- if permission then activate button 'modify groups'
+			$tpl->set_block('show_cmd_group_list', 'show_cmd_modify_group_block', 'show_cmd_modify_group');
+			if( $admin->get_permission('groups') == true )
+			{
+				$tpl->parse('show_cmd_modify_group', 'show_cmd_modify_group_block', true);
+			}else {
+				$tpl->parse('show_cmd_modify_group', '');
+			}
+	// -- if permission then activate button 'delete groups'
+			$tpl->set_block('show_cmd_group_list', 'show_cmd_delete_group_block', 'show_cmd_delete_group');
+			if($admin->get_permission('groups_delete') == true)
+			{
+				$tpl->parse('show_cmd_delete_group', 'show_cmd_delete_group_block', true);
+			}else {
+				$tpl->parse('show_cmd_delete_group', '');
+			}
+
+        }
+
+		$tpl->set_block('main_block', 'show_cmd_add_input_block', 'show_cmd_add_input');
+		if($admin->get_permission('groups_add') )
+		{
+			$tpl->set_var('DISPLAY_ADD', '');
+			$tpl->set_var('GROUP_ACTION_URL', $_SERVER['SCRIPT_NAME']);
+			$tpl->set_var('GROUPS_HEADER', $mLang->HEADING_ADD_GROUP );
+			$tpl->set_var('SUBMIT_TITLE', $mLang->TEXT_ADD);
+			$tpl->set_var('ACTION_HANDLE', 'action_modify');
+			$tpl->set_var('ACTION_HIDDEN', 'action_add');
+			$tpl->set_var('FORM_NAME_GROUPMASK', 'frm_addnew_group');
+			$tpl->parse('show_cmd_add_input', 'show_cmd_add_input_block', false);
+		} else {
+			$tpl->parse('show_cmd_add_input', '');
+		}
+
+	// insert urls
+		$tpl->set_var(array(
+				'ADMIN_URL' => ADMIN_URL,
+				'WB_URL'    => WB_URL,
+				'THEME_URL' => THEME_URL
+				)
+		);
+	// Insert language text and messages
+		$tpl->set_var(array(
+				'TEXT_MODIFY'    => ($admin->get_permission('groups_modify') == true) ? $mLang->TEXT_MODIFY : $mLang->TEXT_VIEW,
+				'TEXT_DELETE'    => $mLang->TEXT_DELETE,
+				'CONFIRM_DELETE' => $mLang->MESSAGE_GROUPS_CONFIRM_DELETE
+				));
+
+	// Parse template object
+		$tpl->parse('main', 'main_block', false);
+		$output = $tpl->finish($tpl->parse('output', 'page'));
+		unset($tpl);
+		return $output;
+	}

Property changes on: branches/2.8.x/wb/admin/groups/groups_list.inc.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/groups/groups_mask.inc.php
===================================================================
--- branches/2.8.x/wb/admin/groups/groups_mask.inc.php	(nonexistent)
+++ branches/2.8.x/wb/admin/groups/groups_mask.inc.php	(revision 1710)
@@ -0,0 +1,324 @@
+<?php
+/**
+ * @category        admin
+ * @package         groups
+ * @author          WebsiteBaker Project. Independend-Software-Team
+ * @copyright       2009-2012, WebsiteBaker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 5.2.2 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ * @description     all basic actions of this module, called by dispatcher only.
+ */
+
+/* -------------------------------------------------------- */
+// Must include code to stop this file being accessed directly
+if(defined('WB_PATH') == false)
+{
+	// Stop this file being access directly
+		die('<h2 style="color:red;margin:3em auto;text-align:center;">Cannot access this file directly</h2>');
+}
+/* -------------------------------------------------------- */
+
+/*
+print '<pre style="text-align: left;"><strong>function '.__FUNCTION__.'( '.'frm_modify_group'.' );</strong>  basename: '.basename(__FILE__).'  line: '.__LINE__.' -> <br />';
+print_r( $_POST ); print '</pre>'; // flush ();sleep(10); die();
+*/
+
+/* *****************************************************************************
+ * Show groupsmask to edit group
+ * @access public
+ * @param object $admin: admin-object
+ * @param int $user_id: ID from group to modify or 0 for a new group
+ * @return string: parsed HTML-content
+ */
+	function show_groupmask($admin, $group_id = 0)
+	{
+//		global $TEXT, $MESSAGE, $HEADING, $MENU;
+
+		$database = WbDatabase::getInstance();
+		$mLang = ModLanguage::getInstance();
+//		$mLang->setLanguage(dirname(__FILE__).'/languages/', LANGUAGE, DEFAULT_LANGUAGE);
+		include_once('upgradePermissions.php');
+		include_once(WB_PATH.'/framework/functions.php');
+	// Create new template object for the modify/remove menu
+		$tpl = new Template(dirname($admin->correct_theme_source('groups_form.htt')),'keep');
+		$tpl->set_file('page', 'groups_form.htt');
+		$tpl->debug = false; // false, true
+
+		$tpl->set_block('page', 'main_block', 'main');
+		$tpl->set_block('main_block', 'show_cmd_permission_block', 'show_cmd_permission');
+		$tpl->set_var('FTAN', $admin->getFTAN());
+		$rec_group = array();
+// admin settings
+//		$system_settings = getSystemDefaultPermissions();
+//		$aSystemDefaultSettings = getSystemDefaultPermissions();
+		if( $group_id > 1 ) // load groupdata from db
+		{
+			// only read the first time from db to set checkboxes
+			if( $admin->get_post('frm_modify_group') == null )
+			{
+				$sql  = 'SELECT * FROM `'.TABLE_PREFIX.'groups` ';
+				$sql .= 'WHERE `group_id` = '.(int)$group_id;
+				// $group_id = 0; // reset to 0 if error occures
+				if( ($res_group = $database->query($sql)) != false )
+				{
+					if( ($rec_group = $res_group->fetchRow(MYSQL_ASSOC)) != false )
+					{
+						$group_id = $rec_group['group_id'];
+		// Explode system permissions
+						$system_permissions = $rec_group['system_permissions'];
+		// Explode module permissions
+		 				$module_permissions = explode(',', $rec_group['module_permissions']);
+		// Explode template permissions
+						$template_permissions = explode(',', $rec_group['template_permissions']);
+					}
+				}
+
+			$tpl->set_var(array(
+						'SUBMIT_TITLE' =>  ($admin->get_permission('groups_modify') == true) ? $mLang->TEXT_SAVE : $mLang->TEXT_BACK,
+						'ACTION_HIDDEN' => ($admin->get_permission('groups_modify') == true) ? 'action_modify' : 'action_cancel',
+						'ACTION_HANDLE' => ($admin->get_permission('groups_modify') == true) ? 'action_save' : 'action_cancel',
+						'GROUP_ID' => $rec_group['group_id'],
+						'GROUP_NAME' => $rec_group['name'],
+						'FORM_NAME_GROUPMASK' => 'frm_modify_group',
+					));
+			} else {
+				// set changed checkboxes and prepare db data
+ 				$module_permissions = set_module_permissions($admin);
+ 				$template_permissions = set_template_permissions($admin);
+				$rec_group['group_id'] = $group_id;
+				$rec_group['name'] = $admin->add_slashes($admin->get_post('name'));
+				$rec_group['module_permissions']   = convertArrayToString($module_permissions);
+				$rec_group['template_permissions'] = convertArrayToString($template_permissions);
+
+				$tpl->set_var(array(
+							'SUBMIT_TITLE' =>  ($admin->get_permission('groups_modify') == true) ? $mLang->TEXT_SAVE : $mLang->TEXT_BACK,
+							'ACTION_HANDLE' => ($admin->get_permission('groups_modify') == true) ? 'action_save' : 'action_cancel',
+							'ACTION_HIDDEN' => ($admin->get_permission('groups_modify') == true) ? 'action_modify' : 'action_cancel',
+							'TEXT_GROUPS_NAME' => $mLang->TEXT_GROUP.': ',
+							'FORM_NAME_GROUPMASK' => 'frm_modify_group',
+	//						'GROUPNAME_DISABLED' => ' readonly="readonly"',
+	//						'GROUPNAME_INPUT_DISABLED' => ' input_text_disabled no_input'
+							'GROUP_NAME' => $rec_group['name'],
+							'GROUPNAME_DISABLED' => '',
+							'GROUPNAME_INPUT_DISABLED' => ''
+							));
+			}
+		} else {
+// set default no rights
+			$system_permissions = array('preferences' => 1,'preferences_view' => 1);
+//		$system_permissions = array();
+//		$system_permissions = isset($_POST['system_permissions']) ? $_POST['system_permissions'] : $system_permissions;
+			$module_permissions = array();
+			$template_permissions = array();
+	// create a empty group-record with permissions masks and advanced button handle
+	// check for existing groupname and junp to start handling, do the same in save
+	// set changed checkboxes and prepare db data
+			$module_permissions = set_module_permissions($admin);
+			$template_permissions = set_template_permissions($admin);
+			$rec_group['group_id'] = intval($admin->get_post('group_id'));
+			$rec_group['name'] = $admin->add_slashes($admin->get_post('name'));
+			$rec_group['module_permissions'] = $module_permissions;
+			$rec_group['template_permissions'] = $template_permissions;
+
+			$tpl->set_var(array(
+						'SUBMIT_TITLE' =>  ($admin->get_permission('groups_add') == true) ? $mLang->TEXT_ADD : $mLang->TEXT_BACK,
+						'ACTION_HANDLE' => ($admin->get_permission('groups_add') == true) ? 'action_save' : 'action_cancel',
+						'ACTION_HIDDEN' => ($admin->get_permission('groups_add') == true) ? 'action_modify' : 'action_cancel',
+						'TEXT_GROUPS_NAME' => '',
+						'GROUP_NAME' => $rec_group['name'],
+						'FORM_NAME_GROUPMASK' => 'frm_addnew_group',
+						'GROUPNAME_DISABLED' => '',
+						'GROUPNAME_INPUT_DISABLED' => ''
+						));
+//			$group_id = $rec_group['group_id'];
+		}
+// set changed checkboxes and prepare db data
+		if( isset($_POST['system_permissions']) )
+		{
+			$system_permissions = get_system_permissions($admin,$_POST['system_permissions'] );
+			$rec_group['system_permissions']   = set_system_permissions($_POST['system_permissions']);
+		} else {
+			$system_permissions = get_system_permissions($admin,$system_permissions);
+			$rec_group['system_permissions']   = set_system_permissions($system_permissions);
+		}
+//print '<pre style="text-align: left;"><strong>function '.__FUNCTION__.'( '.'frm_modify_group'.' );</strong>  basename: '.basename(__FILE__).'  line: '.__LINE__.' -> <br />';
+//print_r( $rec_group['system_permissions']  ); print '</pre>';
+		$tpl->set_var(array(
+					'GROUP_ID' => $rec_group['group_id'],
+					'GROUP_NAME' => $rec_group['name'],
+					'DISPLAY_ADD' => '',
+					));
+		$tpl->parse('show_cmd_permission', 'show_cmd_permission_block', true);
+		// if the requested group doesn't exist, or $group_id contains 0 so it
+		// will be shown a empty mask to add a new group
+		// otherwise the $rec_group object contains existing data from requested group
+		// $tpl->set_var('GROUP_ID', $group_id != 0 ? $admin->getIDKEY($group_id) : 0);
+		$tpl->set_var('GROUP_ACTION_URL', $_SERVER['SCRIPT_NAME']);
+        $header_extra = $mLang->TEXT_FILESYSTEM_PERMISSIONS.' ';
+		if( ($admin->get_permission('groups_view') == true) )
+		{
+			$tpl->set_var('GROUPS_HEADER', $header_extra.$mLang->HEADING_VIEW_GROUP );
+			if( ($admin->get_permission('groups_modify') == true) )
+			{
+			$tpl->set_var('GROUPS_HEADER', ($group_id == 0 ? $header_extra.$mLang->HEADING_ADD_GROUP : $header_extra.$mLang->HEADING_MODIFY_GROUP) );
+			}
+		}
+
+// Insert language text and messages
+		$tpl->set_var('MODULE_FUNCTION', '');
+		$tpl->set_var($mLang->getLangArray());
+
+// ------------------------
+// Tell the browser whether or not to show advanced options
+		$tpl->set_block('show_cmd_permission', 'show_cmd_manage_permission_block', 'permission_block');
+//		$tpl->set_block('show_cmd_manage_permission_block', 'show_cmd_hidden_permission_list_block', 'hidden_permission_list');
+		$tpl->set_block('show_cmd_permission', 'show_cmd_advanced_permission_block', 'advanced_permission_block');
+// first set the var {hidden_permission_list} to empty
+//		$tpl->parse('hidden_permission_list', '');
+// Check and set system permissions boxes in main_block
+
+		if ( true == (isset( $_POST['advanced_action']) && (( $_POST['advanced_action'] == 'no') || strpos( $_POST['advanced_action'], ">>") > 0 ) ) )
+		{
+			$tpl->parse('hidden_permission_list', '');
+			$tpl->set_block('show_cmd_advanced_permission_block', 'show_cmd_hidden_advanced_permission_list_block', 'hidden_advanced_permission_list');
+			setSystemCheckboxes( $tpl, $admin, isset($_POST['system_permissions']) ? $_POST['system_permissions'] : $rec_group['system_permissions'] );
+			$tpl->set_var('DISPLAY_ADVANCED', '');
+			$tpl->set_var('DISPLAY_BASIC', 'display:none;');
+			$tpl->set_var('ADVANCED', 'yes');
+			$tpl->set_var('ADVANCED_ACTION', 'advance_action');
+			$tpl->set_var('ADVANCED_BUTTON',  ($admin->get_permission('groups') == true) ? '<< '.$mLang->TEXT_HIDE_ADVANCED : '<< '.$mLang->TEXT_HIDE_ADVANCED);
+			$tpl->set_var('FILESYSTEM_PERMISSIONS', $mLang->TEXT_FILESYSTEM_PERMISSIONS);
+
+			$tpl->parse('advanced_permission_block', 'show_cmd_advanced_permission_block', true);
+			$tpl->parse('permission_block', '');
+		} else {
+			$tpl->parse('hidden_advanced_permission_list', '');
+			$tpl->set_block('show_cmd_manage_permission_block', 'show_cmd_hidden_permission_list_block', 'hidden_permission_list');
+			setSystemCheckboxes( $tpl, $admin, isset($_POST['system_permissions']) ? $_POST['system_permissions'] : $rec_group['system_permissions'] );
+			$tpl->set_var('DISPLAY_ADVANCED', '');
+			$tpl->set_var('DISPLAY_BASIC', '');
+			$tpl->set_var('ADVANCED', 'no');
+			$tpl->set_var('ADVANCED_ACTION', 'advance_action');
+			$tpl->set_var('ADVANCED_BUTTON',  ($admin->get_permission('groups_add') == true) ? $mLang->TEXT_SHOW_ADVANCED.' >>' : $mLang->TEXT_SHOW_ADVANCED.' >>');
+			$tpl->set_var('FILESYSTEM_PERMISSIONS', $mLang->TEXT_FILESYSTEM_PERMISSIONS.' ');
+
+			$tpl->parse('advanced_permission_block', '');
+			$tpl->parse('permission_block', 'show_cmd_manage_permission_block', true);
+		}
+
+// ------------------------
+
+		$tpl->set_var('HEADER_MODULE_FUNCTION', '<h6>'.$mLang->TEXT_MODULE_PERMISSIONS.'</h6>');
+// Insert values into pages module list
+		$tpl->set_block('show_cmd_permission', 'pages_module_list_block', 'module_list');
+		$sql  = 'SELECT `directory`,`name`,`function` FROM `'.TABLE_PREFIX.'addons` ';
+		$sql .= 'WHERE `type` = \'module\' AND `function` <> \'tool\' ';
+		$sql .= '';
+		$sql .= 'ORDER BY `function`, `name`';
+		if(($res_pages = $database->query($sql)) && ($res_pages->numRows() > 0) )
+		{
+        	$tmp_header = '';
+			while($addon = $res_pages->fetchRow(MYSQL_ASSOC))
+			{
+				if(file_exists(WB_PATH.'/modules/'.$addon['directory'].'/info.php'))
+				{
+                    if( $tmp_header != $addon['function'])
+					{
+						$tpl->set_var('MODULE_FUNCTION', '<h6>'.strtoupper($addon['function']).'</h6>');
+					} else {
+						$tpl->set_var('MODULE_FUNCTION', '');
+					}
+
+					$tpl->set_var('MOD_VALUE', $addon['directory']);
+					$tpl->set_var('MOD_NAME', $addon['name']);
+					if(!is_numeric(array_search($addon['directory'], $module_permissions)) )
+					{
+						$tpl->set_var('MOD_CHECKED', ' checked="checked"');
+					} else {
+	 					$tpl->set_var('MOD_CHECKED', '');
+					}
+					$tpl->parse('module_list', 'pages_module_list_block', true);
+		        }
+				$tmp_header = $addon['function'];
+			}
+		}
+
+		$tpl->set_var('HEADER_MODULE_FUNCTION', '<h6>'.$mLang->TEXT_MODULE_PERMISSIONS.'</h6>');
+		// Insert values into pages module list
+		$tpl->set_block('show_cmd_permission', 'tools_module_list_block', 'tools_list');
+		$sql  = 'SELECT * FROM `'.TABLE_PREFIX.'addons` ';
+		$sql .= 'WHERE `type` = \'module\' AND `function` = \'tool\' ';
+		$sql .= 'ORDER BY `name`';
+		if(($res_pages = $database->query($sql)) && ($res_pages->numRows() > 0) )
+		{
+        	$tmp_header = '';
+			while($addon = $res_pages->fetchRow(MYSQL_ASSOC))
+			{
+				if(file_exists(WB_PATH.'/modules/'.$addon['directory'].'/info.php'))
+				{
+                    if( $tmp_header != $addon['function'])
+					{
+						$tpl->set_var('MODULE_FUNCTION', '<h6>'.strtoupper($addon['function']).'</h6>');
+					} else {
+						$tpl->set_var('MODULE_FUNCTION', '');
+					}
+					$tpl->set_var('ADM_VALUE', $addon['directory']);
+					$tpl->set_var('ADM_NAME', $addon['name']);
+					if(!is_numeric(array_search($addon['directory'], $module_permissions)) )
+					{
+						$tpl->set_var('ADM_CHECKED', ' checked="checked"');
+					} else {
+	 					$tpl->set_var('ADM_CHECKED', '');
+					}
+
+					$tpl->parse('tools_list', 'tools_module_list_block', true);
+		        }
+				$tmp_header = $addon['function'];
+			}
+		}
+		$tpl->set_var('HEADER_TEMPLATE_FUNCTION', '<h6>'.$mLang->TEXT_TEMPLATE_PERMISSIONS.'</h6>');
+		// Insert values into pages module list
+		$tpl->set_block('show_cmd_permission', 'template_list_block', 'template_list');
+		$sql  = 'SELECT * FROM `'.TABLE_PREFIX.'addons` ';
+		$sql .= 'WHERE `type` = \'template\' ';
+		$sql .= 'ORDER BY `function`,`name`';
+		if(($res_pages = $database->query($sql)) && ($res_pages->numRows() > 0) )
+		{
+        	$tmp_header = '';
+			while($addon = $res_pages->fetchRow(MYSQL_ASSOC))
+			{
+				if(file_exists(WB_PATH.'/templates/'.$addon['directory'].'/info.php'))
+				{
+                    if( $tmp_header != $addon['function'])
+					{
+						$tpl->set_var('TEMPLATE_FUNCTION', '<h6>'.strtoupper($addon['function']).'</h6>');
+					} else {
+						$tpl->set_var('TEMPLATE_FUNCTION', '');
+					}
+					$tpl->set_var('TMP_VALUE', $addon['directory']);
+					$tpl->set_var('TMP_NAME', $addon['name']);
+					if(!is_numeric(array_search($addon['directory'], $template_permissions)) )
+					{
+						$tpl->set_var('TMP_CHECKED', ' checked="checked"');
+					} else {
+	 					$tpl->set_var('TMP_CHECKED', '');
+					}
+
+					$tpl->parse('template_list', 'template_list_block', true);
+		        }
+				$tmp_header = $addon['function'];
+			}
+		}
+
+// ------------------------
+	// Parse template object
+		$tpl->parse('main', 'main_block', false);
+		$output = $tpl->finish($tpl->parse('output', 'page'));
+		unset($tpl);
+		return $output;
+	}

Property changes on: branches/2.8.x/wb/admin/groups/groups_mask.inc.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/groups/upgradePermissions.php
===================================================================
--- branches/2.8.x/wb/admin/groups/upgradePermissions.php	(nonexistent)
+++ branches/2.8.x/wb/admin/groups/upgradePermissions.php	(revision 1710)
@@ -0,0 +1,489 @@
+<?php
+/**
+ *
+ * @category        admin
+ * @package         start
+ * @author          Ryan Djurovich, WebsiteBaker Project
+ * @copyright       2009-2012, WebsiteBaker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 5.2.2 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ *
+ */
+
+/* -------------------------------------------------------- */
+// Must include code to stop this file being accessed directly
+if(defined('WB_PATH') == false)
+{
+	// Stop this file being access directly
+		die('<h2 style="color:red;margin:3em auto;text-align:center;">Cannot access this file directly</h2>');
+}
+/* -------------------------------------------------------- */
+
+
+/**
+ *
+ *
+ * @access public getSystemDefaultPermissions()
+ * @param none
+ * @return array System Default Permissions
+ *
+ */
+function getSystemDefaultPermissions ()
+{
+	$retVal = array(
+		'access' => 0,
+		'addons' => 0,
+		'admintools' => 0,
+		'admintools_view' => 0,
+		'groups' => 0,
+		'groups_add' => 0,
+		'groups_delete' => 0,
+		'groups_modify' => 0,
+		'groups_view' => 0,
+		'languages' => 0,
+		'languages_install' => 0,
+		'languages_uninstall' => 0,
+		'languages_view' => 0,
+		'media' => 0,
+		'media_create' => 0,
+		'media_delete' => 0,
+		'media_rename' => 0,
+		'media_upload' => 0,
+		'media_view' => 0,
+		'modules' => 0,
+		'modules_install' => 0,
+		'modules_uninstall' => 0,
+		'modules_view' => 0,
+		'pages' => 0,
+		'pages_add' => 0,
+		'pages_add_l0' => 0,
+		'pages_delete' => 0,
+		'pages_intro' => 0,
+		'pages_modify' => 0,
+		'pages_settings' => 0,
+		'pages_view' => 0,
+		'preferences' => 1,
+		'preferences_view' => 1,
+		'settings' => 0,
+		'settings_basic' => 0,
+		'settings_advanced' => 0,
+		'settings_view' => 0,
+		'templates' => 0,
+		'templates_install' => 0,
+		'templates_uninstall' => 0,
+		'templates_view' => 0,
+		'users' => 0,
+		'users_add' => 0,
+		'users_delete' => 0,
+		'users_modify' => 0,
+		'users_view' => 0
+	);
+	return $retVal;
+}
+
+/* *****************************************************************************
+ * Prepare $module_permissions for workout
+ * @access public
+ * @param object $admin: admin-object
+ * @return array:
+ */
+	function set_module_permissions ($admin)
+	{
+		// Get template permissions
+		$modules = array('');
+		$dirs = scan_current_dir(WB_PATH.'/modules');
+
+		if(is_array($admin->get_post('module_permissions')))
+		{
+			$modules = $admin->get_post('module_permissions');
+		}
+// foldername validation
+ 		array_walk($dirs['path'],'check_dir' );
+// delete empty items
+		foreach($dirs['path'] AS $key=>$val) {
+			if(empty($dirs['path'][$key])) { unset($dirs['path'][$key]); }
+		}
+// list of unckecked modules directories
+		$modules = array_diff ( $dirs['path'], $modules );
+// reindex
+		$modules = array_merge($modules);
+		return $modules;
+	}
+
+/* *****************************************************************************
+ * Prepare $template_permissions for workout
+ * @access public
+ * @param object $admin: admin-object
+ * @return array:
+ */
+	function set_template_permissions ($admin)
+	{
+		// Get template permissions
+		$templates = array();
+		$dirs = scan_current_dir(WB_PATH.'/templates');
+		if(is_array($admin->get_post('template_permissions')))
+		{
+			foreach($admin->get_post('template_permissions') AS $selected_name)
+			{
+				if( file_exists( WB_PATH.'/templates/'.$selected_name.'/info.php') && in_array ($selected_name, $dirs['path']) )
+				{
+					$templates[] = $selected_name;
+				}
+			}
+		}
+		$templates = (sizeof($templates) > 0) ? array_diff($dirs['path'], $templates) : $dirs['path'];
+		// return $template_permissions = implode(',', $templates);
+		return $templates;
+	}
+
+/* *****************************************************************************
+ * Prepare $system_permissions for save
+ * @access public
+ * @param
+ * @return string: parsed HTML-content
+ */
+	function set_system_permissions ($system_permissions = array())
+	{
+		// Implode system permissions
+		$imploded_system_permissions = '';
+		$system_permissions = !is_array($system_permissions) ? array() : $system_permissions;
+		foreach($system_permissions AS $key => $value)
+		{
+			if($value == true)
+			{
+				if($imploded_system_permissions == '')
+				{
+					$imploded_system_permissions = $key;
+				} else {
+					$imploded_system_permissions .= ','.$key;
+				}
+			}
+		}
+		return $imploded_system_permissions;
+	}
+
+/* *****************************************************************************
+ * array_walk callback functions
+ */
+
+	if(!function_exists('check_dir'))
+	{
+		function check_dir(&$val, $key ) {
+			$RetVal = null;
+			$aArray[$key] = $val;
+			$RetVal = array_slice ($aArray,!preg_match('/^[a-z]{1}[a-z][a-z_\-0-9]{2,}$/i', $val ));
+			$RetVal = each ($RetVal);
+			$val = $RetVal['value'];
+		}
+	}
+
+
+	if(!function_exists('remove_underline')){
+		function remove_underline(& $val, $key, $vars = array())
+		{
+			$val = rtrim($val, ',');
+			$vars = explode ( '_', $val);
+			$val = $vars[0];
+		}
+	}
+
+	if(!function_exists('addons')){
+		function addons(& $val, $key, $vars = '')
+		{
+			$val = rtrim($val, '_');
+            $val = ($val == 'modules') || ($val == 'templates') || ($val == 'languages') ? 'addons' : $val;
+		}
+	}
+
+	if(!function_exists('settings')){
+		function settings(& $val, $key, $vars = '')
+		{
+            $val = ($val == 'settings_view') ? 'settings_basic' : $val;
+//            $val  = ($val == 'settings_basic') || ($val == 'settings_advanced') ? 'settings_view' : $val1;
+		}
+	}
+
+	if(!function_exists('access')){
+		function access(& $val, $key, $vars = '')
+		{
+            $val = ($val == 'groups') || ($val == 'users') ? 'access' : $val;
+		}
+	}
+	function convertArrayToString ($val=null)
+	{
+		$settings = '';
+		if(is_array($val))
+		{
+			foreach( $val as $key => $value )
+			{
+				$settings .= trim($value.',','\'');
+			}
+		} else {
+			$settings = $val;
+		}
+		return trim($settings,',');
+	}
+
+	function convertKeyArrayToString ($val=null)
+	{
+		$settings = '';
+		if(is_array($val))
+		{
+			foreach( $val as $key => $value )
+			{
+				$settings .= trim($key.',','\'');
+			}
+		} else {
+			$settings = $val;
+		}
+		return trim($settings,',');
+	}
+
+// ---------------------------------------
+	function convertStringToArray ($val=null)
+	{
+		$array = array();
+		$settings = '';
+		if(!is_array($val)){
+			$settings = explode(',', $val);
+			foreach( $settings as $value )
+			{
+				$array[] = $value;
+			}
+			} else {
+				$array = $val;
+			}
+		return $array;
+	}
+// ---------------------------------------
+	function convertStringToKeyArray ($val=null)
+	{
+		$array = array();
+		if(!is_array($val)){
+			$settings = explode(',', $val);
+			foreach( $settings as $value )
+			{
+				$array[$value] = 1;
+			}
+			} else {
+				$array = $val;
+			}
+		return $array;
+	}
+
+// ---------------------------------------
+// workout to upgrade the groups system_permissions
+/**
+ * get_system_permissions()
+ *
+ * @return
+ */
+ function get_system_permissions ($admin, $SystemPermissions = null )
+{
+	$retVal = null;
+	$aValidAll = array();
+	$aValidView = array();
+	$aValidBlock = array();
+	$aValidAddons = array();
+	$aValidAccess = array();
+	$aValidSettings = array();
+	$aPermissions = array();
+	$sValueType = '';
+	$sTempPermissions = '';
+	if($SystemPermissions==null) { return false; }
+
+// be sure is the right string for working inside
+	if(is_string($SystemPermissions)) {
+		$SystemPermissions = convertStringToKeyArray($SystemPermissions);
+	}
+	if(is_array($SystemPermissions)&& sizeof($SystemPermissions)>0) {
+		$aPermissions = convertStringToKeyArray($SystemPermissions);
+		$sTempPermissions = convertKeyArrayToString($aPermissions).',';
+	}
+// workout setting preferences
+	if($admin->is_group_match('preferences_view',$sTempPermissions))
+	{
+		$aPermissions[]    = 'preferences';
+		$sTempPermissions .= 'preferences,';
+	}
+// workout setting admintools
+	if($admin->is_group_match('admintools_view',$sTempPermissions))
+	{
+		$aPermissions[]    = 'admintools';
+		$sTempPermissions .= 'admintools,';
+	}
+// search all data with *_view, if not found delete the permission block
+	$patternView = '/[a-z]+_view/i';
+	if(preg_match_all($patternView, $sTempPermissions, $array ))
+	{
+// build new Permissions kist, remove invaild entries, needed to disable checknoxes
+		array_walk($array[0], 'remove_underline');
+		$sValueType = array_unique($array[0]);
+		foreach($sValueType as $key => $view )
+		{
+//build new permission string
+		$regex = "/(($view)[a-z_0-9]*)\,/i";
+		preg_match_all ($regex, $sTempPermissions, $aMatch);
+		$aValidBlock = $aMatch[1];
+		$aValidAll = array_merge($aValidAll,$aValidBlock);
+		}
+// set all missing/needed entries
+		$aValidAddons = $aValidAll;
+		$aValidAccess = $aValidAll;
+		$aValidSettings = $aValidAll;
+		array_walk($aValidAddons,   'addons');
+		array_walk($aValidAccess,   'access');
+		array_walk($aValidSettings, 'settings');
+// merge all arays and set to POST ready for save and change to advanced modus
+		$aSystem = array_merge_recursive( $sValueType, $aValidAll, $aValidBlock, $aValidSettings, $aValidAddons, $aValidAccess);
+		$retVal = array_unique($aSystem);
+		natsort($retVal);
+// set correct index key
+		$retVal = array_merge($retVal);
+// convert to right format
+		$retVal = array_fill_keys($retVal, 1);
+	}
+
+	$_POST['system_permissions'] = $retVal;
+	return $retVal;
+}
+// ---------------------------------------
+//print '<pre style="text-align: left;"><strong>function '.__FUNCTION__.'( '.''.' );</strong>  basename: '.basename(__FILE__).'  line: '.__LINE__.' -> <br />';
+//print_r( $_POST ); print '</pre>';
+
+/**
+ * setSystemCheckboxes()
+ *
+ * @param mixed $tpl
+ * @param mixed $permissions
+ * @return
+ */
+function setSystemCheckboxes( &$tpl, $admin, $permissions = null )
+{
+	$array = array();
+	if(!is_array($permissions))
+	{
+		$array = convertStringToKeyArray($permissions);
+	} else {
+		$array = $permissions;
+	}
+
+	if ( true == (isset( $_POST['advanced_action']) && (( $_POST['advanced_action'] == 'no') || strpos( $_POST['advanced_action'], ">>") > 0 ) ) )
+	{
+	// set adbanced modus
+		$tpl->parse('hidden_advanced_permission_list', '', true);
+		$array = !is_array($array) ? array() : $array;
+		$aPermissions = isset($_POST['system_permissions']) ? $_POST['system_permissions'] : array();
+ 		foreach($array AS $key => $value)
+		{
+	//		if(strpos($key,'_view')) { continue; }
+			if(array_key_exists($key, $aPermissions)) { continue; }
+			$tpl->set_var('SYS_NAME', "system_permissions[$key]" );
+			$tpl->set_var('SYS_VALUE', 1 );
+			$tpl->parse('hidden_advanced_permission_list', 'show_cmd_hidden_advanced_permission_list_block', true);
+			$checked = '';
+		}
+
+	} else {
+	// set baisc modus
+		$tpl->set_var('SYS_NAME', "none" );
+		$tpl->set_var('SYS_VALUE', '' );
+		$tpl->parse('hidden_permission_list', 'show_cmd_hidden_permission_list_block', true);
+		$array = !is_array($array) ? array() : $array;
+		foreach($array AS $key => $value)
+		{
+			if(strpos($key,'_view')) { continue; }
+			$tpl->set_var('SYS_NAME', "system_permissions[$key]" );
+			$tpl->set_var('SYS_VALUE', 1 );
+			$tpl->parse('hidden_permission_list', 'show_cmd_hidden_permission_list_block', true);
+			$checked = '';
+		}
+	}
+	reset($array);
+	// set checked
+	foreach($array AS $key => $value)
+	{
+		$checked='';
+        if( $key != '' )
+		{
+            $checked = ' checked="checked"';
+		}
+		$tpl->set_var('VALUE', 1);
+		$tpl->set_var($key.'_checked', $checked);
+	}
+
+	return $array;
+}
+
+/**
+ * upgrade_group_system_permissions()
+ *
+ * @return void
+ */
+function upgrade_group_system_permissions ( )
+{
+	global $admin;
+	$database = WbDatabase::getInstance();
+	$aGroups = array();
+	$sTempPermissions = '';
+	$aTempPermissions = array();
+	$aAllowedPermissions = array(
+	'admintools','groups','languages','media','modules','pages','preferences','settings','templates','users'
+	);
+	$aPermissions = $aMatches = array();
+	$sql  = 'SELECT `group_id`,`name`,`system_permissions` FROM `'.TABLE_PREFIX.'groups` ';
+//	$sql .= 'WHERE `group_id` != 1 ';
+	$sql .= 'ORDER BY `group_id` ';
+	if($oRes = $database->query($sql) )
+	{
+		while( $aPage = $oRes->fetchRow(MYSQL_ASSOC) )
+		{
+			$sTempPermissions = convertKeyArrayToString (getSystemDefaultPermissions()).',';
+			$sPermissions = $aPage['group_id']!= 1 ? $aPage['system_permissions'].',' : $sTempPermissions;
+// check if old groups system_permissions format, there was no prferences
+			if( !preg_match_all( '/(preferences[a-z_0-9]*)\,/iU', $sPermissions, $aMatches) )
+			{
+// fetch all known permission entries to set the permission_view
+				foreach($aAllowedPermissions as $PermissionFound)
+				{
+					$aMatches = array();
+					if( preg_match_all( "/(($PermissionFound)[a-z_0-9]*)\,/i", $sPermissions, $aMatches) )
+					{
+						$val1 = $admin->is_group_match("$PermissionFound".'_view',$sPermissions);
+						$val2 = $admin->is_group_match("$PermissionFound",$sPermissions);
+						if(!$val1 && $val2)
+						{
+							$sPermissions .= $PermissionFound.'_view,';
+						}
+					}
+					$aTempPermissions = explode(',',$sPermissions);
+					if(!$admin->is_group_match('preferences_view',$sPermissions))
+					{
+						$sPermissions .= 'preferences,preferences_view,';
+					}
+				}
+			}
+// upgrade all groups system permission
+			$aTempPermissions = convertStringToArray(trim($sPermissions,','));
+			natsort($aTempPermissions);
+// reindex
+			$aTempPermissions = array_merge(($aTempPermissions));
+			$retVal = array_fill_keys($aTempPermissions, 1);
+			$aPermissions[$aPage['name']] = get_system_permissions($admin, $retVal);
+			$aGroups[$aPage['name']] = convertKeyArrayToString($aPermissions[$aPage['name']]);
+// and update DB
+			$sql  = 'UPDATE `'.TABLE_PREFIX.'groups` SET ';
+			$sql .= '`system_permissions` =\''.$aGroups[$aPage['name']].'\' ';
+			$sql .= 'WHERE `name` = \''.$aPage['name'].'\' ';
+			if(!$database->query($sql) )
+			{
+			}
+		}
+	}
+	return !$database->is_error();
+}

Property changes on: branches/2.8.x/wb/admin/groups/upgradePermissions.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/groups/save.inc.php
===================================================================
--- branches/2.8.x/wb/admin/groups/save.inc.php	(nonexistent)
+++ branches/2.8.x/wb/admin/groups/save.inc.php	(revision 1710)
@@ -0,0 +1,106 @@
+<?php
+/**
+ * @category        admin
+ * @package         groups
+ * @author          WebsiteBaker Project, Independend-Software-Team
+ * @copyright       2009-2012, Website Baker Org. e.V.
+ * @link			http://www.websitebaker2.org/
+ * @license         http://www.gnu.org/licenses/gpl.html
+ * @platform        WebsiteBaker 2.8.x
+ * @requirements    PHP 5.2.2 and higher
+ * @version         $Id$
+ * @filesource		$HeadURL$
+ * @lastmodified    $Date$
+ * @description     all basic actions of this module, called by dispatcher only.
+ */
+
+/* -------------------------------------------------------- */
+// Must include code to stop this file being accessed directly
+if(defined('WB_PATH') == false)
+{
+	// Stop this file being access directly
+		die('<h2 style="color:red;margin:3em auto;text-align:center;">Cannot access this file directly</h2>');
+}
+/* -------------------------------------------------------- */
+
+/* *****************************************************************************
+ * Modify existing groups or insert a new group
+ * @access public
+ * @param object &$admin: reference to admin-object
+ * @param object &$database: reference to database object
+ * @param int $group_id: ID from group to modify or 0 for a new group
+ * @return string: parsed HTML-content
+ */
+	function save_group($admin, $group_id = 0)
+	{
+		global $TEXT, $MESSAGE, $HEADING, $MENU;
+		include_once('upgradePermissions.php');
+		include_once(WB_PATH.'/framework/functions.php');
+		$database = WbDatabase::getInstance();
+	// check for valid group_id
+		$sql = '';
+
+//		$system_settings = getSystemDefaultPermissions();
+		$system_settings = isset($_POST['system_permissions']) ? $_POST['system_permissions'] : array();
+
+	// check FTAN and prevent 'admin'[id=1] from become changed
+		if( $admin->checkFTAN() && $group_id != 1 )
+		{
+			$system_permissions   = get_system_permissions ($admin,$system_settings);
+			$system_permissions   = set_system_permissions($system_permissions);
+
+			$module_permissions   = set_module_permissions($admin);
+			$module_permissions   = implode (',', $module_permissions);
+
+			$template_permissions = set_template_permissions($admin);
+			$template_permissions = implode (',', $template_permissions);
+
+			// prepare empty record to add new group
+			$group_name = mysql_real_escape_string(strip_tags(trim($admin->get_post('name'))));
+//	print '<pre style="text-align: left;"><strong>function '.__FUNCTION__.'( '.''.' );</strong>  basename: '.basename(__FILE__).'  line: '.__LINE__.' -> <br />';
+//	print_r( $_POST ); print '</pre>';
+
+			$sql  = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'groups` ';
+			$sql .= 'WHERE `group_id` <> '.$group_id.' AND `name` LIKE BINARY \''.$group_name.'\'';
+
+			if($group_name == '')
+			{
+				msgQueue::add($MESSAGE['GROUPS_GROUP_NAME_BLANK']);
+			} elseif($group_name != '') {
+		// check request vars and assign values to record
+				if( $database->get_one($sql) != false )
+				{
+					msgQueue::add($MESSAGE['GROUPS_GROUP_NAME_EXISTS']);
+				} else {
+					if( $group_id == 0 )
+					{
+						$sql  = 'INSERT INTO `'.TABLE_PREFIX.'groups` ';
+						$where = '';
+					} else {
+						$sql  = 'UPDATE `'.TABLE_PREFIX.'groups` ';
+						$where = 'WHERE `group_id` = '.$group_id;
+					}
+                 }
+			}
+
+		// save new/changed values if no error given before
+            if( msgQueue::isEmpty() )
+			{
+				$sql .= 'SET `name` = \''.$group_name.'\', ';
+				$sql .= '`system_permissions` = \''.$system_permissions.'\', ';
+				$sql .= '`module_permissions` = \''.$module_permissions.'\', ';
+				$sql .= '`template_permissions` = \''.$template_permissions.'\' ';
+				$sql .= $where;
+				if( $database->query($sql) )
+				{
+	                msgQueue::add($MESSAGE['GROUPS_SAVED'],true);
+				} else {
+					msgQueue::add($MESSAGE['RECORD_MODIFIED_FAILED']);
+				}
+			}
+		} else {
+			msgQueue::add('FTAN-check failed or tried to change admin');
+		}
+		$admin->print_header();
+		return $group_id;
+	}

Property changes on: branches/2.8.x/wb/admin/groups/save.inc.php
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/groups/index.php
===================================================================
--- branches/2.8.x/wb/admin/groups/index.php	(revision 1709)
+++ branches/2.8.x/wb/admin/groups/index.php	(revision 1710)
@@ -4,7 +4,7 @@
  * @category        admin
  * @package         groups
  * @author          Ryan Djurovich, WebsiteBaker Project
- * @copyright       2009-2011, Website Baker Org. e.V.
+ * @copyright       2009-2012, WebsiteBaker Org. e.V.
  * @link			http://www.websitebaker2.org/
  * @license         http://www.gnu.org/licenses/gpl.html
  * @platform        WebsiteBaker 2.8.x
@@ -12,189 +12,126 @@
  * @version         $Id$
  * @filesource		$HeadURL$
  * @lastmodified    $Date$
+ * @description     action dispatcher of this module.
  *
-*/
+ */
+/* ************************************************************************** */
 
-// Print admin header
-require('../../config.php');
-require_once(WB_PATH.'/framework/class.admin.php');
-$admin = new admin('Access', 'groups');
-$ftan = $admin->getFTAN();
+	function admin_groups_index()
+	{
+		$database = WbDatabase::getInstance();
+		$mLang = ModLanguage::getInstance();
+		$mLang->setLanguage(dirname(__FILE__).'/languages/', LANGUAGE, DEFAULT_LANGUAGE);
 
-// Setup template object, parse vars to it, then parse it
-// Create new template object
-$template = new Template(dirname($admin->correct_theme_source('groups.htt')));
-// $template->debug = true;
-$template->set_file('page', 'groups.htt');
-$template->set_block('page', 'main_block', 'main');
-$template->set_block('main_block', 'manage_users_block', 'users');
-// insert urls
-$template->set_var(array(
-	'ADMIN_URL' => ADMIN_URL,
-	'WB_URL' => WB_URL,
-	'THEME_URL' => THEME_URL,
-	'FTAN' => $ftan
-	)
-);
+		$mod_path = dirname(str_replace('\\', '/', __FILE__));
+		$mod_name = basename($mod_path);
+		$output = '';
 
-// Get existing value from database
-// $database = new database();
-$query = "SELECT group_id,name FROM ".TABLE_PREFIX."groups WHERE group_id != '1'";
-$results = $database->query($query);
-if($database->is_error()) {
-	$admin->print_error($database->get_error(), 'index.php');
-}
+		if( isset($_POST['action_cancel']))
+		{
+			unset($_POST);
+		}
 
-// Insert values into the modify/remove menu
-$template->set_block('main_block', 'list_block', 'list');
-if($results->numRows() > 0) {
-	// Insert first value to say please select
-	$template->set_var('VALUE', '');
-	$template->set_var('NAME', $TEXT['PLEASE_SELECT'].'...');
-	$template->parse('list', 'list_block', true);
-	// Loop through groups
-	while($group = $results->fetchRow()) {
-		$template->set_var('VALUE',$admin->getIDKEY($group['group_id']));
-		$template->set_var('NAME', $group['name']);
-		$template->parse('list', 'list_block', true);
-	}
-} else {
-	// Insert single value to say no groups were found
-	$template->set_var('NAME', $TEXT['NONE_FOUND']);
-	$template->parse('list', 'list_block', true);
-}
+		$submit_action = 'show'; // default action
+		$submit_action = ( isset($_POST['action_cancel']) ? 'cancel' : $submit_action );
+		$submit_action = ( isset($_POST['action_delete']) ? 'delete' : $submit_action );
+		// $submit_action = ( isset($_POST['action_add'])    ? 'modify' : $submit_action );
+		$submit_action = ( isset($_POST['action_modify']) ? 'modify' : $submit_action );
+		$submit_action = ( isset($_POST['action_save'])   ? 'save'   : $submit_action );
 
-// Insert permissions values
-if($admin->get_permission('groups_add') != true) {
-	$template->set_var('DISPLAY_ADD', 'hide');
-}
-if($admin->get_permission('groups_modify') != true) {
-	$template->set_var('DISPLAY_MODIFY', 'hide');
-}
-if($admin->get_permission('groups_delete') != true) {
-	$template->set_var('DISPLAY_DELETE', 'hide');
-}
+		$group_id = ( isset($_POST['group_id']) ? intval($_POST['group_id']) :  '0' );
 
-// Insert language headings
-$template->set_var(array(
-	'HEADING_MODIFY_DELETE_GROUP' => $HEADING['MODIFY_DELETE_GROUP'],
-	'HEADING_ADD_GROUP' => $HEADING['ADD_GROUP']
-	)
-);
-// Insert language text and messages
-$template->set_var(array(
-	'TEXT_MODIFY' => $TEXT['MODIFY'],
-	'TEXT_DELETE' => $TEXT['DELETE'],
-	'TEXT_MANAGE_USERS' => ( $admin->get_permission('users') == true ) ? $TEXT['MANAGE_USERS']: "",
-	'CONFIRM_DELETE' => $MESSAGE['GROUPS']['CONFIRM_DELETE']
-	)
-);
-if ( $admin->get_permission('users') == true ) $template->parse("users", "manage_users_block", true);
-// Parse template object
-$template->parse('main', 'main_block', false);
-$template->pparse('output', 'page');
+		switch($submit_action) :
+			case 'delete': // delete the group
+				$admin = new admin('Access', 'groups_delete');
+				// $group_id = $admin->checkIDKEY($_POST['group_id']);
+				msgQueue::clear();
+				include($mod_path.'/delete.inc.php');
+				delete_group($admin, $group_id);
+				if( ($msg = msgQueue::getSuccess()) != '')
+				{
+					include($mod_path.'/groups_list.inc.php');
+					$output = show_grouplist($admin);
+				}
+				if( ($msg = msgQueue::getError()) != '')
+				{
+					include($mod_path.'/groups_list.inc.php');
+					$output = show_grouplist($admin);
+				}
+				break;
+			case 'save': // insert/update group
+				if( $group_id == 0 )
+				{
+					$admin = new admin('Access', 'groups_add',false);
+				}else {
+					$admin = new admin('Access', 'groups_modify',false);
+				}
+				msgQueue::clear();
+				include($mod_path.'/save.inc.php');
+				$group_id = save_group($admin, $group_id);
+				if(!msgQueue::isEmpty())
+				{
+				}
+				if( ($msg = msgQueue::getSuccess()) != '')
+				{
+					include($mod_path.'/groups_list.inc.php');
+					$output = show_grouplist($admin);
+				}
+				if( ($msg = msgQueue::getError()) != '')
+				{
+					// $group_id = $admin->checkIDKEY($_POST['group_id']);
+					include($mod_path.'/groups_mask.inc.php');
+					$output = show_groupmask($admin, $group_id);
+				}
+				break;
+			case 'modify': // insert/update group
+				$admin = new admin('Access', 'groups');
+				msgQueue::clear();
+				if( ($group_id != 1 ) && ($admin->get_permission('groups')) )
+				{
+					// $group_id = $admin->checkIDKEY($_POST['group_id']);
+					include($mod_path.'/groups_mask.inc.php');
+					$output = show_groupmask($admin, $group_id);
+				} else {
+					include($mod_path.'/groups_list.inc.php');
+					$output  = show_grouplist($admin, $group_id);
+				}
+				break;
+			default: // show grouplist with empty modify mask
+				$admin = new admin('Access', 'groups');
+				$group_id = isset($_POST['group_id']) ? (int)$_POST['group_id'] : 0;
+				msgQueue::clear();
+				if($group_id > 1) // prevent 'admin' [ID 1] from modify
+				{
+					// $group_id = $admin->checkIDKEY($_POST['group_id']);
+					include($mod_path.'/groups_mask.inc.php');
+					$output .= show_groupmask($admin, $group_id);
+				}else { // if invalid GroupID is called, fall back to 'show-mode'
+					include($mod_path.'/groups_list.inc.php');
+					$output  = show_grouplist($admin);
+				}
+		endswitch; // end of switch
 
-// Setup template object, parse vars to it, then parse it
-// Create new template object
-$template = new Template(dirname($admin->correct_theme_source('groups_form.htt')));
-// $template->debug = true;
-$template->set_file('page', 'groups_form.htt');
-$template->set_block('page', 'main_block', 'main');
-$template->set_var('DISPLAY_EXTRA', 'display:none;');
-$template->set_var('ACTION_URL', ADMIN_URL.'/groups/add.php');
-$template->set_var('SUBMIT_TITLE', $TEXT['ADD']);
-$template->set_var('ADVANCED_LINK', 'index.php');
-
-// Tell the browser whether or not to show advanced options
-if ( true == (isset( $_POST['advanced']) AND ( strpos( $_POST['advanced'], ">>") > 0 ) ) ) {
-	$template->set_var('DISPLAY_ADVANCED', '');
-	$template->set_var('DISPLAY_BASIC', 'display:none;');
-	$template->set_var('ADVANCED', 'yes');
-	$template->set_var('ADVANCED_BUTTON', '<< '.$TEXT['HIDE_ADVANCED']);
-} else {
-	$template->set_var('DISPLAY_ADVANCED', 'display:none;');
-	$template->set_var('DISPLAY_BASIC', '');
-	$template->set_var('ADVANCED', 'no');
-	$template->set_var('ADVANCED_BUTTON', $TEXT['SHOW_ADVANCED'].' >>');
-}
-
-// Insert permissions values
-if($admin->get_permission('groups_add') != true) {
-	$template->set_var('DISPLAY_ADD', 'hide');
-}
-
-// Insert values into module list
-$template->set_block('main_block', 'module_list_block', 'module_list');
-$result = $database->query('SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "module" AND `function` = "page" ORDER BY `name`');
-if($result->numRows() > 0) {
-	while($addon = $result->fetchRow()) {
-		$template->set_var('VALUE', $addon['directory']);
-		$template->set_var('NAME', $addon['name']);
-		$template->parse('module_list', 'module_list_block', true);
+		if(!msgQueue::isEmpty())
+		{
+		}
+		if( ($msg = msgQueue::getSuccess()) != '')
+		{
+			$output = $admin->format_message($msg, 'ok').$output;
+		}
+		if( ($msg = msgQueue::getError()) != '')
+		{
+			$output = $admin->format_message($msg, 'error').$output;
+		}
+		print $output;
+		$admin->print_footer();
 	}
-}
-
-// Insert values into template list
-$template->set_block('main_block', 'template_list_block', 'template_list');
-$result = $database->query('SELECT * FROM `'.TABLE_PREFIX.'addons` WHERE `type` = "template" ORDER BY `name`');
-if($result->numRows() > 0) {
-	while($addon = $result->fetchRow()) {
-		$template->set_var('VALUE', $addon['directory']);
-		$template->set_var('NAME', $addon['name']);
-		$template->parse('template_list', 'template_list_block', true);
+	// start dispatcher maintenance
+	if(!defined('WB_PATH'))
+	{
+		require('../../config.php');
+		require_once(WB_PATH.'/framework/class.admin.php');
 	}
-}
-
-// Insert language text and messages
-$template->set_var(array(
-								'TEXT_RESET' => $TEXT['RESET'],
-								'TEXT_ACTIVE' => $TEXT['ACTIVE'],
-								'TEXT_DISABLED' => $TEXT['DISABLED'],
-								'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
-								'TEXT_USERNAME' => $TEXT['USERNAME'],
-								'TEXT_PASSWORD' => $TEXT['PASSWORD'],
-								'TEXT_RETYPE_PASSWORD' => $TEXT['RETYPE_PASSWORD'],
-								'TEXT_DISPLAY_NAME' => $TEXT['DISPLAY_NAME'],
-								'TEXT_EMAIL' => $TEXT['EMAIL'],
-								'TEXT_GROUP' => $TEXT['GROUP'],
-								'TEXT_SYSTEM_PERMISSIONS' => $TEXT['SYSTEM_PERMISSIONS'],
-								'TEXT_MODULE_PERMISSIONS' => $TEXT['MODULE_PERMISSIONS'],
-								'TEXT_TEMPLATE_PERMISSIONS' => $TEXT['TEMPLATE_PERMISSIONS'],
-								'TEXT_NAME' => $TEXT['NAME'],
-								'SECTION_PAGES' => $MENU['PAGES'],
-								'SECTION_MEDIA' => $MENU['MEDIA'],
-								'SECTION_MODULES' => $MENU['MODULES'],
-								'SECTION_TEMPLATES' => $MENU['TEMPLATES'],
-								'SECTION_SETTINGS' => $MENU['SETTINGS'],
-								'SECTION_LANGUAGES' => $MENU['LANGUAGES'],
-								'SECTION_USERS' => $MENU['USERS'],
-								'SECTION_GROUPS' => $MENU['GROUPS'],
-								'SECTION_ADMINTOOLS' => $MENU['ADMINTOOLS'],
-								'TEXT_VIEW' => $TEXT['VIEW'],
-								'TEXT_ADD' => $TEXT['ADD'],
-								'TEXT_LEVEL' => $TEXT['LEVEL'],
-								'TEXT_MODIFY' => $TEXT['MODIFY'],
-								'TEXT_DELETE' => $TEXT['DELETE'],
-								'TEXT_MODIFY_CONTENT' => $TEXT['MODIFY_CONTENT'],
-								'TEXT_MODIFY_SETTINGS' => $TEXT['MODIFY_SETTINGS'],
-								'HEADING_MODIFY_INTRO_PAGE' => $HEADING['MODIFY_INTRO_PAGE'],
-								'TEXT_CREATE_FOLDER' => $TEXT['CREATE_FOLDER'],
-								'TEXT_RENAME' => $TEXT['RENAME'],
-								'TEXT_UPLOAD_FILES' => $TEXT['UPLOAD_FILES'],
-								'TEXT_BASIC' => $TEXT['BASIC'],
-								'TEXT_ADVANCED' => $TEXT['ADVANCED'],
-								'CHANGING_PASSWORD' => $MESSAGE['USERS']['CHANGING_PASSWORD'],
-								'CHECKED' => ' checked="checked"',
-								'ADMIN_URL' => ADMIN_URL,
-								'WB_URL' => WB_URL,
-								'THEME_URL' => THEME_URL,
-								'FTAN' => $ftan
-								)
-						);
-
-// Parse template for add group form
-$template->parse('main', 'main_block', false);
-$template->pparse('output', 'page');
-
-// Print the admin footer
-$admin->print_footer();
+	admin_groups_index();
+	exit;
+// end of file
Index: branches/2.8.x/wb/admin/skel/themes/htt/users.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/users.htt	(revision 1709)
+++ branches/2.8.x/wb/admin/skel/themes/htt/users.htt	(revision 1710)
@@ -1,19 +1,21 @@
 <!-- BEGIN main_block -->
-
-<form name="users" action="users.php" method="post">
-<input type="hidden" name="userstatus" value="{USER_STATUS}" />
-{FTAN}
-
 <table summary="" cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
 	<tr style="background:#f0f0f0;">
 		<td align="left"><h2>{HEADING_MODIFY_DELETE_USER}</h2></td>
 		<td align="right">
 		<!-- BEGIN manage_groups_block -->
-		<a href="{ADMIN_URL}/groups/index.php">{TEXT_MANAGE_GROUPS}</a>
+		<form name="cmd_manage_groups" action="{ADMIN_URL}/groups/index.php" method="post">
+			{FTAN}
+			<input class="submit" type="submit" name="cmd_manage_users" value="{TEXT_MANAGE_GROUPS}" />
+		</form>
 		<!-- END manage_groups_block -->
 		</td>
      </tr>
 </table>
+<form name="users" action="users.php" method="post" class="left">
+<input type="hidden" name="userstatus" value="{USER_STATUS}" />
+{FTAN}
+
 <button type="button" name="status" title="{TEXT_USERS}" style="width: 30px; background: {STATUS_ICON} no-repeat center" value="{USER_STATUS}" onclick="javascript: window.location = 'index.php?status={USER_STATUS}';" class="status {DISPLAY_MODIFY}" >&nbsp;</button>
 <select name="user_id" style="width: 500px;">
 <!-- BEGIN list_block -->
@@ -27,6 +29,6 @@
 </form>
 
 <br />
-<h2 style="margin-top: 20px;" class="{DISPLAY_ADD}">{HEADING_ADD_USER}</h2>
+<h2 style="margin-top: 20px;" class="{DISPLAY_ADD} left">{HEADING_ADD_USER}</h2>
 
 <!-- END main_block -->
\ No newline at end of file
Index: branches/2.8.x/wb/admin/skel/themes/htt/access.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/access.htt	(revision 1709)
+++ branches/2.8.x/wb/admin/skel/themes/htt/access.htt	(revision 1710)
@@ -1,10 +1,10 @@
 <!-- BEGIN main_block -->
-<h2>{ACCESS}</h2>
-<table summary="" cellpadding="0" cellspacing="0" border="0" width="99%" align="center">
+<h2 class="left">{ACCESS}</h2>
+<table summary="">
 	<tr>
 		<td align="center" valign="top">
-			<!-- BEGIN users_block -->	
-			<table summary="" cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_USERS} >
+			<!-- BEGIN users_block -->
+			<table summary="" class="section" {DISPLAY_USERS} >
 				<tr>
 					<td class="graphic" align="center" valign="top" rowspan="2">
 						<a href="{ADMIN_URL}/users/index.php"><img src="{THEME_URL}/icons/users.png" alt="{USERS}" /></a>
@@ -13,10 +13,10 @@
 						<a href="{ADMIN_URL}/users/index.php"><span class="title">{USERS}</span></a><p>{USERS_OVERVIEW}</p>
 					</td>
 				</tr>
-			</table>	
+			</table>
 			<!-- END users_block -->
-			<!-- BEGIN groups_block -->		
-			<table summary="" cellpadding="0" cellspacing="0" border="0" class="section" {DISPLAY_GROUPS} >
+			<!-- BEGIN groups_block -->
+			<table summary="" class="section" {DISPLAY_GROUPS} >
 				<tr>
 					<td class="graphic" align="center" valign="top" rowspan="2">
 						<a href="{ADMIN_URL}/groups/index.php"><img src="{THEME_URL}/icons/groups.png" alt="{GROUPS}" /></a>
Index: branches/2.8.x/wb/admin/skel/themes/htt/groups_list.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/groups_list.htt	(nonexistent)
+++ branches/2.8.x/wb/admin/skel/themes/htt/groups_list.htt	(revision 1710)
@@ -0,0 +1,47 @@
+<!-- BEGIN main_block -->
+<div class="content_box">
+<table summary="" cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
+	<tr style="background:#f0f0f0;">
+		<td align="left"><h2>{CONTENT_HEADER}</h2></td>
+		<td align="right">
+	<!-- BEGIN show_cmd_manage_users_block -->
+		<form name="cmd_manage_users" action="{LINK_MANAGE_USERS}" method="post">
+			{FTAN}
+			<input class="submit" type="submit" name="cmd_manage_users" value="{TEXT_MANAGE_USERS}" />
+		</form>
+	<!-- END show_cmd_manage_users_block -->
+		</td>
+     </tr>
+</table>
+	<!-- BEGIN show_cmd_group_list_block -->
+		<form class="access" name="{FORM_NAME_GROUPLIST}" id="{FORM_NAME_GROUPLIST}" action="{ACTION_URL}" method="post">
+			{FTAN}
+			<div class="mbox curved curved h80">
+		        <h3>{CONTENT_HEADER}</h3>
+				<select class="c400" name="group_id" >
+	<!-- BEGIN grouplist_block -->
+					<option value="{GROUP_ID}">{GROUP_DISPLAY_NAME}</option>
+	<!-- END grouplist_block -->
+				</select>
+	<!-- BEGIN show_cmd_modify_group_block -->
+				<input type="submit" name="action_modify" value="{TEXT_MODIFY}" />
+	<!-- END show_cmd_modify_group_block -->
+	<!-- BEGIN show_cmd_delete_group_block -->
+				<input type="submit" name="action_delete" value="{TEXT_DELETE}" onclick="return confirm('{CONFIRM_DELETE}');" />
+	<!-- END show_cmd_delete_group_block -->
+			</div>
+		</form>
+	<!-- END show_cmd_group_list_block -->
+	<!-- BEGIN show_cmd_add_input_block -->
+		<form name="group" action="{GROUP_ACTION_URL}" method="post" class="access {DISPLAY_ADD}">
+			<input type="hidden" name="group_id" value="0" />
+			{FTAN}
+			<div class="mbox curved h80">
+		        <h3>{GROUPS_HEADER}</h3>
+			 	<input type="text" name="name" maxlength="120" value="" class="c400" />
+				<input type="submit" name="{ACTION_HANDLE}" value="{SUBMIT_TITLE}" />
+			</div>
+		</form>
+	<!-- END show_cmd_add_input_block -->
+</div>
+<!-- END main_block -->
\ No newline at end of file

Property changes on: branches/2.8.x/wb/admin/skel/themes/htt/groups_list.htt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/skel/themes/htt/groups.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/groups.htt	(revision 1709)
+++ branches/2.8.x/wb/admin/skel/themes/htt/groups.htt	(revision 1710)
@@ -1,6 +1,6 @@
 <!-- BEGIN main_block -->
 
-<form action="groups.php" method="post">
+<form class="access" action="groups.php" method="post">
  {FTAN}
   <table summary="" cellpadding="5" cellspacing="0" border="0" align="center" width="100%" style="margin-bottom:10px;">
 	<tr style="background:#f0f0f0;">
Index: branches/2.8.x/wb/admin/skel/themes/htt/users_form.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/users_form.htt	(revision 1709)
+++ branches/2.8.x/wb/admin/skel/themes/htt/users_form.htt	(revision 1710)
@@ -7,19 +7,30 @@
 }
 </script>
 
-<h2 style="{DISPLAY_EXTRA}">{HEADING_MODIFY_USER}</h2>
+<h2 class="left" style="{DISPLAY_EXTRA}">{HEADING_MODIFY_USER}</h2>
 
-<form name="user" action="{ACTION_URL}" method="post" class="{DISPLAY_ADD}">
+<form name="user" action="{ACTION_URL}" method="post" class="{DISPLAY_ADD} left settings_table">
 <input type="hidden" name="user_id" value="{USER_ID}" />
 <input type="hidden" name="username_fieldname" value="{USERNAME_FIELDNAME}" />
 {FTAN}
 <table summary="" cellpadding="5" cellspacing="0" border="0" width="100%">
+<!-- BEGIN show_modify_loginname_block -->
 <tr>
 	<td width="150">{TEXT_USERNAME}:</td>
 	<td class="value_input">
+		<input type="hidden" name="{USERNAME_FIELDNAME}" value="{USERNAME}" />
+		<input class="button" type="button" value="{USERNAME}" disabled="disabled" readonly="readonly" />
+	</td>
+</tr>
+<!-- END show_modify_loginname_block -->
+<!-- BEGIN show_add_loginname_block -->
+<tr>
+	<td width="150">{TEXT_USERNAME}:</td>
+	<td class="value_input">
 		<input type="text" name="{USERNAME_FIELDNAME}" maxlength="30" value="{USERNAME}" />
 	</td>
 </tr>
+<!-- END show_add_loginname_block -->
 <tr>
 	<td>{TEXT_PASSWORD}:</td>
 	<td class="value_input">
Index: branches/2.8.x/wb/admin/skel/themes/htt/groups_form.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/groups_form.htt	(revision 1709)
+++ branches/2.8.x/wb/admin/skel/themes/htt/groups_form.htt	(revision 1710)
@@ -1,279 +1,361 @@
 <!-- BEGIN main_block -->
-<h2 style="{DISPLAY_EXTRA}">{HEADING_MODIFY_GROUP}</h2>
+		<div class="content_box">
+			<form name="group" action="{GROUP_ACTION_URL}" method="post" class="access {DISPLAY_ADD}">
+			<input type="hidden" name="group_id" value="{GROUP_ID}" />
+			<input type="hidden" name="advance_action" value="{ADVANCED}" />
+			<input type="hidden" name="{FORM_NAME_GROUPMASK}" value="1" />
+			<input type="hidden" name="group_name" maxlength="120" value="{GROUP_NAME}" />
+			<input type="hidden" name="{ACTION_HIDDEN}" value="{SUBMIT_TITLE}" />
+				{FTAN}
+				<div class="mbox curved h65">
+			        <h3>{GROUPS_HEADER}</h3>
+				 	<input type="text" name="name" maxlength="120" value="{GROUP_NAME}" class="c400{GROUPNAME_INPUT_DISABLED}"{GROUPNAME_DISABLED} />
+				</div>
+	<!-- BEGIN show_cmd_permission_block -->
+				<div class="col_content">
+					<input type="submit" name="{ACTION_HANDLE}" value="{SUBMIT_TITLE}" />
+					<input type="submit" name="action_cancel" value="{TEXT_CANCEL}" />
+					<input type="reset" name="reset" value="{TEXT_RESET}" />
+		 	        <input class="cright" type="submit" name="advanced_action" style="{DISPLAY_ADVANCED}" value="{ADVANCED_BUTTON}" />
+				</div>
+				<br class="clear ie-clearing none" />
+		<!-- BEGIN show_cmd_manage_permission_block -->
+				<div class="cleft col_width100">
+					<div class="col_content aBlock">
+			<!-- BEGIN show_cmd_hidden_permission_list_block -->
+						<input name="{SYS_NAME}" type="hidden" value="{SYS_VALUE}" />
+			<!-- END show_cmd_hidden_permission_list_block -->
 
-<form name="group" action="{ACTION_URL}" method="post" class="{DISPLAY_ADD}">
-<input type="hidden" name="advanced" value="{ADVANCED}" />
-<input type="hidden" name="group_id" value="{GROUP_ID}" />
-{FTAN}
-<table summary="" cellpadding="2" cellspacing="0" border="0" width="100%">
-<tr>
-	<td width="150">{TEXT_NAME}:</td>
-	<td>
-		<input type="text" name="group_name" maxlength="255" value="{GROUP_NAME}" style="width:98%" />
-	</td>
-</tr>
-</table>
-<table summary="" cellpadding="2" cellspacing="0" border="0" width="100%" style="{DISPLAY_BASIC}">
-<tr>
-	<td width="150" valign="top">{TEXT_SYSTEM_PERMISSIONS}:</td>
-	<td>
-		<table summary="" cellpadding="0" cellspacing="0" width="100%" border="0">
-		<tr>
-			<td>
-				<input type="checkbox" name="pages" id="pages" value="1" {pages_checked} />
-				<label for="pages">{SECTION_PAGES}</label>
-			</td>
-			<td>
-				<input type="checkbox" name="media" id="media" value="1" {media_checked} />
-				<label for="media">{SECTION_MEDIA}</label>
-			</td>
-			<td>
-				<input type="checkbox" name="modules" id="modules" value="1" {modules_checked} />
-				<label for="modules">{SECTION_MODULES}</label>
-			</td>
-			<td>
-				<input type="checkbox" name="templates" id="templates" value="1" {templates_checked} />
-				<label for="templates">{SECTION_TEMPLATES}</label>
-			</td>
-		</tr>
-		<tr>
-			<td>
-				<input type="checkbox" name="languages" id="languages" value="1" {languages_checked} />
-				<label for="languages">{SECTION_LANGUAGES}</label>
-			</td>
-			<td>		
-				<input type="checkbox" name="settings" id="settings" value="1" {settings_checked} />
-				<label for="settings">{SECTION_SETTINGS}</label>
-			</td>
-			<td>
-				<input type="checkbox" name="users" id="users" value="1" {users_checked} />
-				<label for="users">{SECTION_USERS}</label>
-			</td>
-			<td>
-				<input type="checkbox" name="groups" id="groups" value="1" {groups_checked} />
-				<label for="groups">{SECTION_GROUPS}</label>
-			</td>
-		</tr>
-		<tr>
-			<td>
-				<input type="checkbox" name="admintools" id="admintools" value="1" {admintools_checked} />
-				<label for="admintools">{SECTION_ADMINTOOLS}</label>
-			</td>
-			<td>&nbsp;</td>
-			<td>&nbsp;</td>
-			<td>&nbsp;</td>
-		</tr>
-		</table>
-	</td>
-</tr>
-</table>
-<table summary="" cellpadding="2" cellspacing="0" border="0" width="100%" style="{DISPLAY_ADVANCED}">
-<tr>
-	<td width="150" valign="top">{TEXT_SYSTEM_PERMISSIONS}:</td>
-	<td align="left">
+						<div class="mbox curved h65 floatbox">
+							<h4>{TEXT_FILESYSTEM_PERMISSIONS}</h4>
+							<span>
+								<input type="checkbox" name="system_permissions[pages_view]" id="pages_view" value="1" {pages_view_checked} />
+								<label for="pages_view">{MENU_PAGES}</label>
+							</span>
+							<span>
+								<input type="checkbox" name="system_permissions[media_view]" id="media_view" value="1" {media_view_checked} />
+								<label for="media_view">{MENU_MEDIA}</label>
+							</span>
+							<span>
+								<input type="checkbox" name="system_permissions[modules_view]" id="modules_view" value="1" {modules_view_checked} />
+								<label for="modules_view">{MENU_MODULES}</label>
+							</span>
+							<span>
+								<input type="checkbox" name="system_permissions[templates_view]" id="templates_view" value="1" {templates_view_checked} />
+								<label for="templates_view">{MENU_TEMPLATES}</label>
+							</span>
+							<span>
+								<input type="checkbox" name="system_permissions[languages_view]" id="languages_view" value="1" {languages_view_checked} />
+								<label for="languages_view">{MENU_LANGUAGES}</label>
+							</span>
+							<span>
+								<input type="checkbox" name="system_permissions[settings_view]" id="settings_view" value="1" {settings_view_checked} />
+								<label for="settings_view">{MENU_SETTINGS}</label>
+							</span>
+							<span>
+								<input type="checkbox" name="system_permissions[admintools_view]" id="admintools_view" value="1" {admintools_view_checked} />
+								<label for="admintools_view">{MENU_ADMINTOOLS}</label>
+							</span>
+							<span>
+								<input type="checkbox" name="system_permissions[users_view]" id="users_view" value="1" {users_view_checked} />
+								<label for="users_view">{MENU_USERS}</label>
+							</span>
+							<span>
+								<input type="checkbox" name="system_permissions[groups_view]" id="groups_view" value="1" {groups_view_checked} />
+								<label for="groups_view">{MENU_GROUPS}</label>
+							</span>
+							<span>
+								<input type="checkbox" name="system_permissions[preferences_view]" id="preferences_view" value="1" {preferences_view_checked} />
+								<label for="preferences_view">{MENU_USER_PREFERENCES}</label>
+							</span>
+						</div>
+					</div>
+				</div>
+		<!-- END show_cmd_manage_permission_block -->
+		<!-- BEGIN show_cmd_advanced_permission_block -->
+				<div class="cleft col_width33">
+					<div class="col_content aBlock">
+			<!-- BEGIN show_cmd_hidden_advanced_permission_list_block -->
+						<input name="{SYS_NAME}" type="hidden" value="{SYS_VALUE}" />
+			<!-- END show_cmd_hidden_advanced_permission_list_block -->
+						<div class="mbox curved min_h100 floatbox">
+							<h6>{FILESYSTEM_PERMISSIONS} {MENU_PAGES}</h6>
+							<ul>
+								<li class="c100">
+									<input name="system_permissions[pages_view]" id="pages_view" type="checkbox" value="{VALUE}" {pages_view_checked} />
+									<label for="pages_view">{TEXT_VIEW}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[pages_add_l0]" id="pages_add_l0" type="checkbox" value="{VALUE}" {pages_add_l0_checked} />
+									<label for="pages_add_l0">{TEXT_ADD} ({TEXT_LEVEL} 0)</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[pages_add]" id="pages_add" type="checkbox" value="{VALUE}" {pages_add_checked} />
+									<label for="pages_add">{TEXT_ADD}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[pages_settings]" id="pages_settings" type="checkbox" value="{VALUE}" {pages_settings_checked} />
+									<label for="pages_settings">{TEXT_MODIFY_SETTINGS}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[pages_modify]" id="pages_modify" type="checkbox" value="{VALUE}" {pages_modify_checked} />
+									<label for="pages_modify">{TEXT_MODIFY_CONTENT}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[pages_intro]" id="pages_intro" type="checkbox" value="{VALUE}" {pages_intro_checked} />
+									<label for="pages_intro">{HEADING_MODIFY_INTRO_PAGE}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[pages_delete]" id="pages_delete" type="checkbox" value="{VALUE}" {pages_delete_checked} />
+									<label for="pages_delete">{TEXT_DELETE}</label>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</div>
+				<div class="cleft col_width33">
+					<div class="col_content">
+						<div class="mbox curved min_h100 floatbox">
+							<h6>{TEXT_FILESYSTEM_PERMISSIONS} {MENU_MEDIA}</h6>
+							<ul>
+								<li class="c100">
+								<input name="system_permissions[media_view]" id="media_view" type="checkbox" value="1" {media_view_checked} />
+								<label for="media_view">{TEXT_VIEW}</label>
+								</li>
+								<li class="c100">
+								<input name="system_permissions[media_upload]" id="media_upload" type="checkbox" value="1" {media_upload_checked} />
+								<label for="media_upload">{TEXT_UPLOAD_FILES}</label>
+								</li>
+								<li class="c100">
+								<input name="system_permissions[media_rename]" id="media_rename" type="checkbox" value="1" {media_rename_checked} />
+								<label for="media_rename">{TEXT_RENAME}</label>
+								</li>
+								<li class="c100">
+								<input name="system_permissions[media_delete]" id="media_delete" type="checkbox" value="1" {media_delete_checked} />
+								<label for="media_delete">{TEXT_DELETE}</label>
+								</li>
+								<li class="c100">
+								<input name="system_permissions[media_create]" id="media_create" type="checkbox" value="1" {media_create_checked} />
+								<label  for="media_create">{TEXT_CREATE_FOLDER}</label>
+								</li>
+								<li class="c100">
+								<p>&nbsp;</p>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</div>
+				<div class="cleft col_width33">
+					<div class="col_content">
+						<div class="mbox curved min_h100 floatbox">
+							<h6>{FILESYSTEM_PERMISSIONS} {MENU_SETTINGS}</h6>
+							<ul>
+								<li class="c100">
+									<input name="system_permissions[settings_view]" id="settings_view" type="checkbox" value="1" {settings_view_checked} />
+									<label for="settings_view">{TEXT_BASIC}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[settings_advanced]" id="settings_advanced" type="checkbox" value="1" {settings_advanced_checked} />
+									<label for="settings_advanced">{TEXT_ADVANCED}</label>
+								</li>
+							</ul><br />
+							<h6>{FILESYSTEM_PERMISSIONS} {MENU_ADMINTOOLS}</h6>
+							<ul>
+								<li class="c100">
+									<input name="system_permissions[admintools_view]" id="admintools_view" type="checkbox" value="1" {admintools_view_checked} />
+									<label for="admintools_view">{TEXT_MODIFY}</label>
+								</li>
+							</ul><br />
+							<h6>{FILESYSTEM_PERMISSIONS} {MENU_USER_PREFERENCES}</h6>
+							<ul>
+								<li class="c100">
+									<input name="system_permissions[preferences_view]" id="preferences_view" type="checkbox" value="1" {preferences_view_checked} />
+									<label for="preferences_view">{TEXT_MODIFY}</label>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</div>
+				<br class="clear ie-clearing none" />
+				<div class="cleft col_width33">
+					<div class="col_content">
+						<div class="mbox curved min_h100 floatbox">
+							<h6>{FILESYSTEM_PERMISSIONS} {MENU_MODULES}</h6>
+							<ul>
+								<li class="c100">
+								<input name="system_permissions[modules_view]" id="modules_view" type="checkbox" value="1" {modules_view_checked} />
+								<label for="modules_view">{TEXT_VIEW}</label>
+								</li>
+								<li class="c100">
+								<input name="system_permissions[modules_install]" id="modules_install" type="checkbox" value="1" {modules_install_checked} />
+								<label for="modules_install">{TEXT_ADD}</label>
+								</li>
+								<li class="c100">
+								<input name="system_permissions[modules_uninstall]" id="modules_uninstall" type="checkbox" value="1" {modules_uninstall_checked} />
+								<label for="modules_uninstall">{TEXT_DELETE}</label>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</div>
+				<div class="cleft col_width33">
+					<div class="col_content">
+						<div class="mbox curved min_h100 floatbox">
+							<h6>{FILESYSTEM_PERMISSIONS} {MENU_TEMPLATES}</h6>
+							<ul>
+								<li class="c100">
+									<input name="system_permissions[templates_view]" id="templates_view" type="checkbox" value="1" {templates_view_checked} />
+									<label for="templates_view">{TEXT_VIEW}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[templates_install]" id="templates_install" type="checkbox" value="1" {templates_install_checked} />
+									<label for="templates_install">{TEXT_ADD}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[templates_uninstall]" id="templates_uninstall" type="checkbox" value="1" {templates_uninstall_checked} />
+									<label for="templates_uninstall">{TEXT_DELETE}</label>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</div>
+				<div class="cleft col_width33">
+					<div class="col_content">
+						<div class="mbox curved min_h100 floatbox">
+							<h6>{FILESYSTEM_PERMISSIONS} {MENU_LANGUAGES}</h6>
+							<ul>
+								<li class="c100">
+									<input name="system_permissions[languages_view]" id="languages_view" type="checkbox" value="1" {languages_view_checked} />
+									<label for="languages_view">{TEXT_VIEW}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[languages_install]" id="languages_install" type="checkbox" value="1" {languages_install_checked} />
+									<label for="languages_install">{TEXT_ADD}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[languages_uninstall]" id="languages_uninstall" type="checkbox" value="1" {languages_uninstall_checked} />
+									<label for="languages_uninstall">{TEXT_DELETE}</label>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</div>
+				<br class="clear ie-clearing none" />
+				<div class="cleft col_width33">
+					<div class="col_content">
+						<div class="mbox curved min_h100 floatbox">
+							<h6>{FILESYSTEM_PERMISSIONS} {MENU_USERS}</h6>
+							<ul>
+								<li class="c100">
+									<input name="system_permissions[users_view]" id="users_view" type="checkbox" value="1" {users_view_checked} />
+									<label for="users_view">{TEXT_VIEW}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[users_add]" id="users_add" type="checkbox" value="1" {users_add_checked} />
+									<label for="users_add">{TEXT_ADD}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[users_modify]" id="users_modify" type="checkbox" value="1" {users_modify_checked} />
+									<label for="users_modify">{TEXT_MODIFY}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[users_delete]" id="users_delete" type="checkbox" value="1" {users_delete_checked} />
+									<label for="users_delete">{TEXT_DELETE}</label>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</div>
+				<div class="cleft col_width33">
+					<div class="col_content">
+						<div class="mbox curved min_h100 floatbox">
+							<h6>{FILESYSTEM_PERMISSIONS} {MENU_GROUPS}</h6>
+							<ul>
+								<li class="c100">
+									<input name="system_permissions[groups_view]" id="groups_view" type="checkbox" value="1" {groups_view_checked} />
+									<label for="groups_view">{TEXT_VIEW}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[groups_add]" id="groups_add" type="checkbox" value="1" {groups_add_checked} />
+									<label for="groups_add">{TEXT_ADD}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[groups_modify]" id="groups_modify" type="checkbox" value="1" {groups_modify_checked} />
+									<label for="groups_modify">{TEXT_MODIFY}</label>
+								</li>
+								<li class="c100">
+									<input name="system_permissions[groups_delete]" id="groups_delete" type="checkbox" value="1" {groups_delete_checked} />
+									<label for="groups_delete">{TEXT_DELETE}</label>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</div>
+		<!-- END show_cmd_advanced_permission_block -->
+				<hr class="clear" />
+				<div class="cleft col_width33">
+					<div class="col_content">
+                        {HEADER_MODULE_FUNCTION}
+						<div class="mbox curved min_h100" style="overflow: hidden;">
+							<ul style="margin: 0; padding: 0; ">
+		<!-- BEGIN pages_module_list_block -->
+								<li class="c100">
+                                    {MODULE_FUNCTION}
+								<div style="white-space: nowrap;">
+									<input class="radio" type="checkbox" name="module_permissions[]" id="m_{MOD_VALUE}" value="{MOD_VALUE}" {MOD_CHECKED} />
+									<label class="" for="m_{MOD_VALUE}">{MOD_NAME}</label>
+								</div>
 
-<table summary="" cellpadding="0" cellspacing="0" border="0" width="330">
-<tr>
-	<td colspan="4"><h3>{SECTION_PAGES}</h3></td>
-</tr>
-<tr>
-	<td><input name="pages_view" id="pages_view" type="checkbox" value="1" {pages_view_checked} /></td>
-	<td><label for="pages_view">{TEXT_VIEW}</label></td>
-	<td><input name="pages_add" id="pages_add" type="checkbox" value="1" {pages_add_checked} /></td>
-	<td>
-		<label for="pages_add">{TEXT_ADD}</label>
-		&nbsp;
-		(<input name="pages_add_l0" id="pages_add_l0" type="checkbox" value="1" {pages_add_l0_checked} />
-		<label for="pages_add_l0">{TEXT_LEVEL} 0</label>)
-	</td>
-</tr>
-<tr>
-	<td><input name="pages_settings" id="pages_settings" type="checkbox" value="1" {pages_settings_checked} /></td>
-	<td><label for="pages_settings">{TEXT_MODIFY_SETTINGS}</label></td>
-	<td><input name="pages_modify" id="pages_modify" type="checkbox" value="1" {pages_modify_checked} /></td>
-	<td><label for="pages_modify">{TEXT_MODIFY_CONTENT}</label></td>
-</tr>
-<tr>
-	<td><input name="pages_intro" id="pages_intro" type="checkbox" value="1" {pages_intro_checked} /></td>
-	<td><label for="pages_intro">{HEADING_MODIFY_INTRO_PAGE}</label></td>
-	<td><input name="pages_delete" id="pages_delete" type="checkbox" value="1" {pages_delete_checked} /></td>
-	<td><label for="pages_delete">{TEXT_DELETE}</label></td>
-</tr>
-<tr>
-	<td colspan="4"><h3>{SECTION_MEDIA}</h3></td>
-</tr>
-<tr>
-	<td><input name="media_view" id="media_view" type="checkbox" value="1" {media_view_checked} /></td>
-	<td><label for="media_view">{TEXT_VIEW}</label></td>
-	<td><input name="media_upload" id="media_upload" type="checkbox" value="1" {media_upload_checked} /></td>
-	<td><label for="media_upload">{TEXT_UPLOAD_FILES}</label></td>
-</tr>
-<tr>
-	<td><input name="media_rename" id="media_rename" type="checkbox" value="1" {media_rename_checked} /></td>
-	<td><label for="media_rename">{TEXT_RENAME}</label></td>
-	<td><input name="media_delete" id="media_delete" type="checkbox" value="1" {media_delete_checked} /></td>
-	<td><label for="media_delete">{TEXT_DELETE}</label></td>
-</tr>
-<tr>
-	<td><input name="media_create" id="media_create" type="checkbox" value="1" {media_create_checked} /></td>
-	<td><label for="media_create">{TEXT_CREATE_FOLDER}</label></td>
-	<td>&nbsp;</td>
-	<td>&nbsp;</td>
-</tr>
-<tr>
-	<td colspan="4"><h3>{SECTION_MODULES}</h3></td>
-</tr>
-<tr>
-	<td><input name="modules_view" id="modules_view" type="checkbox" value="1" {modules_view_checked} /></td>
-	<td><label for="modules_view">{TEXT_VIEW}</label></td>
-	<td><input name="modules_install" id="modules_install" type="checkbox" value="1" {modules_install_checked} /></td>
-	<td><label for="modules_install">{TEXT_ADD}</label></td>
-</tr>
-<tr>
-	<td><input name="modules_uninstall" id="modules_uninstall" type="checkbox" value="1" {modules_uninstall_checked} /></td>
-	<td><label for="modules_uninstall">{TEXT_DELETE}</label></td>
-	<td>&nbsp;</td>
-	<td>&nbsp;</td>
-</tr>
-<tr>
-	<td colspan="4"><h3>{SECTION_TEMPLATES}</h3></td>
-</tr>
-<tr>
-	<td><input name="templates_view" id="templates_view" type="checkbox" value="1" {templates_view_checked} /></td>
-	<td><label for="templates_view">{TEXT_VIEW}</label></td>
-	<td><input name="templates_install" id="templates_install" type="checkbox" value="1" {templates_install_checked} /></td>
-	<td><label for="templates_install">{TEXT_ADD}</label></td>
-</tr>
-<tr>
-	<td><input name="templates_uninstall" id="templates_uninstall" type="checkbox" value="1" {templates_uninstall_checked} /></td>
-	<td><label for="templates_uninstall">{TEXT_DELETE}</label></td>
-	<td>&nbsp;</td>
-	<td>&nbsp;</td>
-</tr>
-<tr>
-	<td colspan="4"><h3>{SECTION_LANGUAGES}</h3></td>
-</tr>
-<tr>
-	<td><input name="languages_view" id="languages_view" type="checkbox" value="1" {languages_view_checked} /></td>
-	<td><label for="languages_view">{TEXT_VIEW}</label></td>
-	<td><input name="languages_install" id="languages_install" type="checkbox" value="1" {languages_install_checked} /></td>
-	<td><label for="languages_install">{TEXT_ADD}</label></td>
-</tr>
-<tr>
-	<td><input name="languages_uninstall" id="languages_uninstall" type="checkbox" value="1" {languages_uninstall_checked} /></td>
-	<td><label for="languages_uninstall">{TEXT_DELETE}</label></td>
-	<td>&nbsp;</td>
-	<td>&nbsp;</td>
-</tr>
-<tr>
-	<td colspan="4"><h3>{SECTION_SETTINGS}</h3></td>
-</tr>
-<tr>
-	<td><input name="settings_basic" id="settings_basic" type="checkbox" value="1" {settings_basic_checked} /></td>
-	<td><label for="settings_basic">{TEXT_BASIC}</label></td>
-	<td><input name="settings_advanced" id="settings_advanced" type="checkbox" value="1" {settings_advanced_checked} /></td>
-	<td><label for="settings_advanced">{TEXT_ADVANCED}</label></td>
-</tr>
-<tr>
-	<td colspan="4"><h3>{SECTION_USERS}</h3></td>
-</tr>
-<tr>
-	<td><input name="users_view" id="users_view" type="checkbox" value="1" {users_view_checked} /></td>
-	<td><label for="users_view">{TEXT_VIEW}</label></td>
-	<td><input name="users_add" id="users_add" type="checkbox" value="1" {users_add_checked} /></td>
-	<td><label for="users_add">{TEXT_ADD}</label></td>
-</tr>
-<tr>
-	<td><input name="users_modify" id="users_modify" type="checkbox" value="1" {users_modify_checked} /></td>
-	<td><label for="users_modify">{TEXT_MODIFY}</label></td>
-	<td><input name="users_delete" id="users_delete" type="checkbox" value="1" {users_delete_checked} /></td>
-	<td><label for="users_delete">{TEXT_DELETE}</label></td>
-</tr>
-<tr>
-	<td colspan="4"><h3>{SECTION_GROUPS}</h3></td>
-
-</tr>
-<tr>
-	<td><input name="groups_view" id="groups_view" type="checkbox" value="1" {groups_view_checked} /></td>
-	<td><label for="groups_view">{TEXT_VIEW}</label></td>
-	<td><input name="groups_add" id="groups_add" type="checkbox" value="1" {groups_add_checked} /></td>
-	<td><label for="groups_add">{TEXT_ADD}</label></td>
-</tr>
-<tr>
-	<td><input name="groups_modify" id="groups_modify" type="checkbox" value="1" {groups_modify_checked} /></td>
-	<td><label for="groups_modify">{TEXT_MODIFY}</label></td>
-	<td><input name="groups_delete" id="groups_delete" type="checkbox" value="1" {groups_delete_checked} /></td>
-	<td><label for="groups_delete">{TEXT_DELETE}</label></td>
-</tr>
-<tr>
-	<td colspan="4">
-		<h3>{SECTION_ADMINTOOLS}</h3>
-	</td>
-</tr>
-<tr>
-	<td><input name="admintools_settings" id="admintools_settings" type="checkbox" value="1" {admintools_settings_checked} /></td>
-	<td><label for="admintools_settings">{TEXT_MODIFY_SETTINGS}</label></td>
-	<td>&nbsp;</td>
-	<td>&nbsp;</td>
-</tr>
-</table>
-
-
-	</td>
-</tr>
-</table>
-
-<table summary="" cellpadding="2" cellspacing="0" border="0" width="100%" style="padding-top: 5px; padding-bottom: 5px;">
-<tr>
-	<td valign="top" align="left" width="150">{TEXT_MODULE_PERMISSIONS}:</td>
-	<td valign="top" align="left">
-		<ul style="margin: 0; padding: 0; list-style: none;">
-			<!-- BEGIN module_list_block -->
-			<li>
-				<input type="checkbox" name="module_permissions[]" id="m_{VALUE}" value="{VALUE}" {CHECKED} />
-				<label for="m_{VALUE}">{NAME}</label>
 			</li>
-			<!-- END module_list_block -->
+		<!-- END pages_module_list_block -->
 		</ul>
-	</td>
-	<td valign="top" align="left" width="150">{TEXT_TEMPLATE_PERMISSIONS}:</td>
-	<td valign="top" align="left">
-		<ul style="margin: 0; padding: 0; list-style: none;">
+						</div>
+					</div>
+				</div>
+				<div class="cleft col_width33">
+					<div class="col_content">
+                        {HEADER_MODULE_FUNCTION}
+						<div class="mbox curved min_h100" style="overflow: hidden;">
+							<ul style="margin: 0; padding: 0; ">
+		<!-- BEGIN tools_module_list_block -->
+								<li class="c100">
+                                    {MODULE_FUNCTION}
+								<div>
+									<input class="radio" type="checkbox" name="module_permissions[]" id="m_{ADM_VALUE}" value="{ADM_VALUE}" {ADM_CHECKED} />
+									<label class="" for="m_{ADM_VALUE}">{ADM_NAME}</label>
+								</div>
+								</li>
+		<!-- END tools_module_list_block -->
+							</ul>
+						</div>
+					</div>
+				</div>
+				<div class="cleft col_width33">
+					<div class="col_content">
+                        {HEADER_TEMPLATE_FUNCTION}
+						<div class="mbox curved min_h100" style="overflow: hidden;">
+							<ul style="margin: 0; padding: 0; ">
 			<!-- BEGIN template_list_block -->
-			<li>
-				<input type="checkbox" name="template_permissions[]" id="t_{VALUE}" value="{VALUE}" {CHECKED} />
-				<label for="t_{VALUE}">{NAME}</label>
+								<li class="c100">
+                                    {TEMPLATE_FUNCTION}
+									<input class="radio" type="checkbox" name="template_permissions[]" id="m_{TMP_VALUE}" value="{TMP_VALUE}" {TMP_CHECKED} />
+									<label class="" for="m_{TMP_VALUE}">{TMP_NAME}</label>
 			</li>
 			<!-- END template_list_block -->
 		</ul>
-	</td>
-</tr>
-<tr style="text-align:center;width:100%">
-    <td>&nbsp;</td>
-	<td style="text-align:right;">
-		<input type="submit" name="save" value="{SUBMIT_TITLE}" />
-	</td>
-	<td style="text-align:left;">
-		<input type="reset" name="reset" value="{TEXT_RESET}" />
-	</td>
-    <td>&nbsp;</td>
-</tr>
-</table>
-</form>
+						</div>
+					</div>
+				</div>
+				<hr class="clear" />
+				<div class="col_content">
+					<input type="submit" name="{ACTION_HANDLE}" value="{SUBMIT_TITLE}" />
+					<input type="submit" name="action_cancel" value="{TEXT_CANCEL}" />
+					<input type="reset" name="reset" value="{TEXT_RESET}" />
+		 	        <input class="cright" type="submit" name="advanced_action" style="{DISPLAY_ADVANCED}" value="{ADVANCED_BUTTON}" />
+				</div>
+				<br class="clear ie-clearing none" />
+	<!-- END show_cmd_permission_block -->
+		 	</form>
 
-
-<form name="advanced" action="{ADVANCED_LINK}" method="post">
-<input type="hidden" name="group_id" value="{GROUP_ID}" />
-<input type="hidden" name="action" value="modify" />
-{FTAN}
-<table summary="" cellpadding="2" cellspacing="0" border="0" width="100%">
-<tr>
-    <td>&nbsp;</td>
-	<td style="text-align:center;">
-		<input type="submit" name="advanced" onclick="window.location = '{ADVANCED_LINK}';" value="{ADVANCED_BUTTON}" />
-	</td>
-    <td>&nbsp;</td>
-</tr>
-</table>
-</form>
+		</div>
 <!-- END main_block -->
\ No newline at end of file
Index: branches/2.8.x/wb/admin/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 1709)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 1710)
@@ -51,5 +51,5 @@
 
 // check if defined to avoid errors during installation (redirect to admin panel fails if PHP error/warnings are enabled)
 if(!defined('VERSION')) define('VERSION', '2.8.3');
-if(!defined('REVISION')) define('REVISION', '1709');
+if(!defined('REVISION')) define('REVISION', '1710');
 if(!defined('SP')) define('SP', '');
Index: branches/2.8.x/wb/admin/users/save.php
===================================================================
--- branches/2.8.x/wb/admin/users/save.php	(revision 1709)
+++ branches/2.8.x/wb/admin/users/save.php	(revision 1710)
@@ -3,9 +3,8 @@
  *
  * @category        admin
  * @package         users
- * @author          WebsiteBaker Project
- * @copyright       2004-2009, Ryan Djurovich
- * @copyright       2009-2011, Website Baker Org. e.V.
+ * @author          Ryan Djurovich, WebsiteBaker Project
+ * @copyright       2009-2012, WebsiteBaker Org. e.V.
  * @link			http://www.websitebaker2.org/
  * @license         http://www.gnu.org/licenses/gpl.html
  * @platform        WebsiteBaker 2.8.x
@@ -38,7 +37,7 @@
 	header("Location: index.php");
 	exit(0);
 } else {
-	$user_id = $_POST['user_id'];
+	$user_id = intval($_POST['user_id']);
 }
 
 // Gather details entered
@@ -54,18 +53,22 @@
 
 // Check values
 if($groups_id == "") {
-	$admin->print_error($MESSAGE['USERS']['NO_GROUP'], $js_back);
+	$admin->print_error($MESSAGE['USERS_NO_GROUP'], $js_back);
 }
-if(!preg_match('/^[a-z]{1}[a-z0-9_-]{2,}$/i', $username)) {
+if(!preg_match('/^[a-z]{1}[a-z0-9_-]{2,}$/i', $username))
+{
+
+//	print '<pre style="text-align: left;"><strong>function '.__FUNCTION__.'( '.''.' );</strong>  basename: '.basename(__FILE__).'  line: '.__LINE__.' -> <br />';
+//	print_r( $_POST ); print '</pre>';
 	$admin->print_error( $MESSAGE['USERS_NAME_INVALID_CHARS'].' / '.
 	                  $MESSAGE['USERS_USERNAME_TOO_SHORT'], $js_back);
 }
 if($password != "") {
 	if(strlen($password) < 2) {
-		$admin->print_error($MESSAGE['USERS']['PASSWORD_TOO_SHORT'], $js_back);
+		$admin->print_error($MESSAGE['USERS_PASSWORD_TOO_SHORT'], $js_back);
 	}
 	if($password != $password2) {
-		$admin->print_error($MESSAGE['USERS']['PASSWORD_MISMATCH'], $js_back);
+		$admin->print_error($MESSAGE['USERS_PASSWORD_MISMATCH'], $js_back);
 	}
 }
 
@@ -73,10 +76,10 @@
 {
 	if($admin->validate_email($email) == false)
     {
-        $admin->print_error($MESSAGE['USERS']['INVALID_EMAIL'], $js_back);
+        $admin->print_error($MESSAGE['USERS_INVALID_EMAIL'], $js_back);
 	}
 } else { // e-mail must be present
-	$admin->print_error($MESSAGE['SIGNUP']['NO_EMAIL'], $js_back);
+	$admin->print_error($MESSAGE['SIGNUP_NO_EMAIL'], $js_back);
 }
 
 // Check if the email already exists
@@ -83,11 +86,11 @@
 $results = $database->query("SELECT user_id FROM ".TABLE_PREFIX."users WHERE email = '".$admin->add_slashes($_POST['email'])."' AND user_id <> '".$user_id."' ");
 if($results->numRows() > 0)
 {
-	if(isset($MESSAGE['USERS']['EMAIL_TAKEN']))
+	if(isset($MESSAGE['USERS_EMAIL_TAKEN']))
     {
-		$admin->print_error($MESSAGE['USERS']['EMAIL_TAKEN'], $js_back);
+		$admin->print_error($MESSAGE['USERS_EMAIL_TAKEN'], $js_back);
 	} else {
-		$admin->print_error($MESSAGE['USERS']['INVALID_EMAIL'], $js_back);
+		$admin->print_error($MESSAGE['USERS_INVALID_EMAIL'], $js_back);
 	}
 }
 
@@ -110,7 +113,7 @@
 if($database->is_error()) {
 	$admin->print_error($database->get_error(),$js_back);
 } else {
-	$admin->print_success($MESSAGE['USERS']['SAVED']);
+	$admin->print_success($MESSAGE['USERS_SAVED']);
 }
 
 // Print admin footer
Index: branches/2.8.x/wb/admin/users/users.php
===================================================================
--- branches/2.8.x/wb/admin/users/users.php	(revision 1709)
+++ branches/2.8.x/wb/admin/users/users.php	(revision 1710)
@@ -4,7 +4,7 @@
  * @category        admin
  * @package         users
  * @author          Ryan Djurovich, WebsiteBaker Project
- * @copyright       2009-2011, Website Baker Org. e.V.
+ * @copyright       2009-2012, WebsiteBaker Org. e.V.
  * @link			http://www.websitebaker2.org/
  * @license         http://www.gnu.org/licenses/gpl.html
  * @platform        WebsiteBaker 2.8.x
@@ -44,10 +44,12 @@
 
 			// Setup template object, parse vars to it, then parse it
 			// Create new template object
-			$template = new Template(dirname($admin->correct_theme_source('users_form.htt')));
+			$template = new Template(dirname($admin->correct_theme_source('users_form.htt')),'keep');
 			// $template->debug = true;
 			$template->set_file('page', 'users_form.htt');
 			$template->set_block('page', 'main_block', 'main');
+			$template->set_block('main_block', 'show_modify_loginname_block', 'show_modify_loginname');
+			$template->set_block('main_block', 'show_add_loginname_block', 'show_add_loginname');
 			$template->set_var(	array(
 								'ACTION_URL' => ADMIN_URL.'/users/save.php',
 								'SUBMIT_TITLE' => $TEXT['SAVE'],
@@ -166,12 +168,14 @@
 								'TEXT_NONE' => $TEXT['NONE'],
 								'TEXT_HOME_FOLDER' => $TEXT['HOME_FOLDER'],
 								'USERNAME_FIELDNAME' => $username_fieldname,
-								'CHANGING_PASSWORD' => $MESSAGE['USERS']['CHANGING_PASSWORD'],
+								'CHANGING_PASSWORD' => $MESSAGE['USERS_CHANGING_PASSWORD'],
 								'HEADING_MODIFY_USER' => $HEADING['MODIFY_USER']
 								)
 						);
 
 			// Parse template object
+			$template->parse('show_modify_loginname', 'show_modify_loginname_block', true);
+			$template->parse('show_add_loginname', '', true);
 			$template->parse('main', 'main_block', false);
 			$template->pparse('output', 'page');
 			// Print admin footer
Index: branches/2.8.x/wb/admin/users/index.php
===================================================================
--- branches/2.8.x/wb/admin/users/index.php	(revision 1709)
+++ branches/2.8.x/wb/admin/users/index.php	(revision 1710)
@@ -4,7 +4,7 @@
  * @category        admin
  * @package         users
  * @author          Ryan Djurovich, WebsiteBaker Project
- * @copyright       2009-2011, Website Baker Org. e.V.
+ * @copyright       2009-2012, WebsiteBaker Org. e.V.
  * @link			http://www.websitebaker2.org/
  * @license         http://www.gnu.org/licenses/gpl.html
  * @platform        WebsiteBaker 2.8.x
@@ -25,7 +25,7 @@
 
 // Setup template object, parse vars to it, then parse it
 // Create new template object
-$template = new Template(dirname($admin->correct_theme_source('users.htt')));
+$template = new Template(dirname($admin->correct_theme_source('users.htt')),'keep');
 // $template->debug = true;
 
 $template->set_file('page', 'users.htt');
@@ -108,7 +108,7 @@
 		'TEXT_MODIFY' => $TEXT['MODIFY'],
 		'TEXT_DELETE' => $TEXT['DELETE'],
 		'TEXT_MANAGE_GROUPS' => ( $admin->get_permission('groups') == true ) ? $TEXT['MANAGE_GROUPS'] : "**",
-		'CONFIRM_DELETE' => (($iUserStatus == 1) ? $TEXT['ARE_YOU_SURE'] : $MESSAGE['USERS']['CONFIRM_DELETE'])
+		'CONFIRM_DELETE' => (($iUserStatus == 1) ? $TEXT['ARE_YOU_SURE'] : $MESSAGE['USERS_CONFIRM_DELETE'])
 		)
 );
 if ( $admin->get_permission('groups') == true ) $template->parse("groups", "manage_groups_block", true);
@@ -118,10 +118,12 @@
 
 // Setup template object, parse vars to it, then parse it
 // Create new template object
-$template = new Template(dirname($admin->correct_theme_source('users_form.htt')));
+$template = new Template(dirname($admin->correct_theme_source('users_form.htt')),'keep');
 // $template->debug = true;
 $template->set_file('page', 'users_form.htt');
 $template->set_block('page', 'main_block', 'main');
+$template->set_block('main_block', 'show_modify_loginname_block', 'show_modify_loginname');
+$template->set_block('main_block', 'show_add_loginname_block', 'show_add_loginname');
 $template->set_var('DISPLAY_EXTRA', 'display:none;');
 $template->set_var('ACTIVE_CHECKED', ' checked="checked"');
 $template->set_var('ACTION_URL', ADMIN_URL.'/users/add.php');
@@ -129,6 +131,10 @@
 $template->set_var('FTAN', $admin->getFTAN());
 // insert urls
 $template->set_var(array(
+		'USER_ID' => '',
+		'USERNAME' => '',
+		'DISPLAY_NAME' => '',
+		'EMAIL' => '',
 		'ADMIN_URL' => ADMIN_URL,
 		'WB_URL' => WB_URL,
 		'THEME_URL' => THEME_URL
@@ -215,11 +221,13 @@
 			'TEXT_NONE' => $TEXT['NONE'],
 			'TEXT_HOME_FOLDER' => $TEXT['HOME_FOLDER'],
 			'USERNAME_FIELDNAME' => $username_fieldname,
-			'CHANGING_PASSWORD' => $MESSAGE['USERS']['CHANGING_PASSWORD']
+			'CHANGING_PASSWORD' => $MESSAGE['USERS_CHANGING_PASSWORD']
 			)
 	);
 
 // Parse template for add user form
+$template->parse('show_modify_loginname', '', true);
+$template->parse('show_add_loginname', 'show_add_loginname_block', true);
 $template->parse('main', 'main_block', false);
 $template->pparse('output', 'page');
 
