Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 2064)
+++ branches/2.8.x/CHANGELOG	(revision 2065)
@@ -12,6 +12,8 @@
 ===============================================================================
 
 
+02 Jan-2014 Build 2065 Dietmar Woellbrink (Luisehahne)
+# /admin/users bugfixes user deactivating and deleting
 01 Jan-2014 Build 2064 Manuela v.d.Decken(DarkViper)
 ! register PHPMailerAutoload now in initialize instead of class.WbMailer.php
 # a unsecure require() fixed in class PHPMailer::__construct() (notice to Syncro given)
Index: branches/2.8.x/wb/admin/skel/themes/htt/users.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/users.htt	(revision 2064)
+++ branches/2.8.x/wb/admin/skel/themes/htt/users.htt	(revision 2065)
@@ -25,13 +25,13 @@
 </select>
 
 <input type="submit" name="modify" style="width: 100px;" value="{TEXT_MODIFY}" class="{DISPLAY_MODIFY}" />
-<input type="submit" name="delete" style="width: 100px;" value="{TEXT_DELETE}" onclick="return confirm('{CONFIRM_DELETE}');" class="{DISPLAY_DELETE}" />
+<input type="submit" name="delete" style="width: 100px;" value="{TEXT_USER_DELETE}" onclick="return confirm('{CONFIRM_DELETE}');" class="{DISPLAY_DELETE}" />
 
 <!-- BEGIN show_confirmed_activation_block -->
 <h3 class="bold">{DISPLAY_WAITING_ACTIVATION}</h3>
      <select name="activation_user_id" class="user-activation" style="width: 500px; margin-left: 34px;">
     <!-- BEGIN list_confirmed_activation_block -->
-    	<option value="{VALUE}" {STATUS}>{NAME}</option>
+    	<option value="{CVALUE}" {CSTATUS}>{CNAME}</option>
     <!-- END list_confirmed_activation_block -->
     </select>
     <input type="submit" name="delete_outdated" style="width: 100px;" value="{TEXT_DELETE}" onclick="return confirm('{CONFIRM_DELETE}');" class="{DISPLAY_DELETE}" />
Index: branches/2.8.x/wb/admin/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 2064)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 2065)
@@ -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.4');
-if(!defined('REVISION')) define('REVISION', '2064');
+if(!defined('REVISION')) define('REVISION', '2065');
 if(!defined('SP')) define('SP', '');
Index: branches/2.8.x/wb/admin/users/user_list.php
===================================================================
--- branches/2.8.x/wb/admin/users/user_list.php	(revision 2064)
+++ branches/2.8.x/wb/admin/users/user_list.php	(revision 2065)
@@ -26,8 +26,8 @@
 
 	function show_userlist($admin, &$aActionRequest)
 	{
-		global $TEXT, $MESSAGE, $HEADING, $MENU;
 		$database = WbDatabase::getInstance();
+		$mLang = Translate::getInstance();
         $iUserStatus = 1;
         $iUserStatus = ( ( $admin->get_get('status')==1 ) ? 0 : $iUserStatus );
         unset($_GET);
@@ -54,15 +54,16 @@
         $UserStatusActive = 'url('.THEME_URL.'/images/user.png)';
         $UserStatusInactive = 'url('.THEME_URL.'/images/user_red.png)';
 
-        $sUserTitle = ($iUserStatus == 0) ? $MENU['USERS'].' '.strtolower($TEXT['ACTIVE']) : $MENU['USERS'].' '.strtolower($TEXT['DELETED']) ;
+        $sUserTitle = ($iUserStatus == 0) ? $mLang->MENU_USERS.' '.strtolower($mLang->TEXT_ACTIVE) : $mLang->MENU_USERS.' '.strtolower($mLang->TEXT_DELETED) ;
 
-        $oTpl->set_var('TEXT_USERS', $sUserTitle.' '.$TEXT['SHOW'] );
+        $oTpl->set_var('TEXT_USERS', $sUserTitle.' '.$mLang->TEXT_SHOW );
         $oTpl->set_var('STATUS_ICON', ( ($iUserStatus==0) ? $UserStatusActive : $UserStatusInactive) );
 
         // Get existing value from database
         $sql  = 'SELECT `user_id`, `username`, `display_name`, `active` FROM `'.TABLE_PREFIX.'users` ' ;
         $sql .= 'WHERE user_id != 1 ';
-        $sql .=     'AND active = '.$iUserStatus.' ';
+        $sql .=     'AND `active` = '.$iUserStatus.' ';
+        $sql .=     'AND `confirm_code` = \'\' ';
         $sql .= 'ORDER BY `display_name`,`username`';
 
 //        $query = "SELECT user_id, username, display_name, active FROM ".TABLE_PREFIX."users WHERE user_id != '1' ORDER BY display_name,username";
@@ -71,8 +72,8 @@
         	$admin->print_error($database->get_error(), 'index.php');
         }
 
-        $sUserList  = $TEXT['LIST_OPTIONS'].' ';
-        $sUserList .= ($iUserStatus == 1) ? $MENU['USERS'].' '.strtolower($TEXT['ACTIVE']) : $MENU['USERS'].' '.strtolower($TEXT['DELETED']) ;
+        $sUserList  = $mLang->TEXT_LIST_OPTIONS.' ';
+        $sUserList .= ($iUserStatus == 1) ? $mLang->MENU_USERS.' '.strtolower($mLang->TEXT_ACTIVE) : $mLang->MENU_USERS.' '.strtolower($mLang->TEXT_DELETED) ;
         // Insert values into the modify/remove menu
         $oTpl->set_block('main_block', 'list_block', 'list');
         if($oRes->numRows() > 0) {
@@ -90,7 +91,7 @@
         	}
         } else {
         	// Insert single value to say no users were found
-        	$oTpl->set_var('NAME', $TEXT['NONE_FOUND']);
+        	$oTpl->set_var('NAME', $mLang->TEXT_NONE_FOUND);
         	$oTpl->parse('list', 'list_block', true);
         }
 
@@ -104,12 +105,12 @@
         if($admin->get_permission('users_delete') != true) {
         	$oTpl->set_var('DISPLAY_DELETE', 'hide');
         }
-        $HeaderTitle = $HEADING['MODIFY_DELETE_USER'].' ';
-        $HeaderTitle .= (($iUserStatus == 1) ? strtolower($TEXT['ACTIVE']) : strtolower($TEXT['DELETED']));
+        $HeaderTitle  = (($iUserStatus == 1) ? $mLang->HEADING_MODIFY_ACTIVE_USER : $mLang->HEADING_MODIFY_DELETE_USER ).' ';
+        $HeaderTitle .= (($iUserStatus == 1) ? strtolower($mLang->TEXT_ACTIVE) : strtolower($mLang->TEXT_INACTIVE));
         // Insert language headings
         $oTpl->set_var(array(
         		'HEADING_MODIFY_DELETE_USER' => $HeaderTitle,
-        		'HEADING_ADD_USER' => $HEADING['ADD_USER']
+        		'HEADING_ADD_USER' => $mLang->HEADING_ADD_USER
         		)
         );
         // insert urls
@@ -122,10 +123,11 @@
         // Insert language text and messages
         $oTpl->set_var(array(
         		'DISPLAY_WAITING_ACTIVATION' => '',
-        		'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'])
+        		'TEXT_MODIFY' => $mLang->TEXT_MODIFY,
+        		'TEXT_DELETE' => $mLang->TEXT_DELETE,
+        		'TEXT_USER_DELETE' => (($iUserStatus == 1) ? $mLang->TEXT_DEACTIVE : $mLang->TEXT_DELETE),
+        		'TEXT_MANAGE_GROUPS' => ( $admin->get_permission('groups') == true ) ? $mLang->TEXT_MANAGE_GROUPS : "**",
+        		'CONFIRM_DELETE' => (($iUserStatus == 1) ? $mLang->TEXT_ARE_YOU_SURE : $mLang->MESSAGE_USERS_CONFIRM_DELETE)
         		)
         );
 
@@ -132,7 +134,7 @@
         $oTpl->set_block('main_block', 'show_confirmed_activation_block', 'show_confirmed_activation');
         if($admin->ami_group_member('1')) {
                 $oTpl->set_block('show_confirmed_activation_block', 'list_confirmed_activation_block', 'list_confirmed_activation');
-            	$oTpl->set_var('DISPLAY_WAITING_ACTIVATION', 'Users awaiting activation');
+            	$oTpl->set_var('DISPLAY_WAITING_ACTIVATION', $mLang->MESSAGE_USERS_WAITING_ACTIVATION);
         		$sql  = 'SELECT * FROM `'.TABLE_PREFIX.'users` ';
         		$sql .= 'WHERE `confirm_timeout` != 0 ';
                 $sql .=   'AND `active` = 0 ';
@@ -144,9 +146,9 @@
                 	// Loop through users
                     if($nNumRows = $oRes->numRows()) {
                     	while($aUser = $oRes->fetchRow(MYSQL_ASSOC)) {
-                    		$oTpl->set_var('VALUE',$admin->getIDKEY($aUser['user_id']));
-                       		$oTpl->set_var('STATUS', '') ;
-                    		$oTpl->set_var('NAME', $aUser['display_name'].' ('.$aUser['username'].')'.' ['.$aUser['email'].']');
+                    		$oTpl->set_var('CVALUE',$admin->getIDKEY($aUser['user_id']));
+                       		$oTpl->set_var('CSTATUS', '') ;
+                    		$oTpl->set_var('CNAME', $aUser['display_name'].' ('.$aUser['username'].')'.' ['.$aUser['email'].']');
                     		$oTpl->parse('list_confirmed_activation', 'list_confirmed_activation_block', true);
                     	}
                     	$oTpl->parse('show_confirmed_activation', 'show_confirmed_activation_block',true);
@@ -192,7 +194,7 @@
     			   'DISPLAY_MODIFY' => '',
     			   'HEADING_MODIFY_USER' => '',
     			   'DISPLAY_HOME_FOLDERS' => '',
-    			   'SUBMIT_TITLE' => $TEXT['ADD'],
+    			   'SUBMIT_TITLE' => $mLang->TEXT_ADD,
                    'HIDE_SAVE_BACK' => 'hide',
     			   )
 			);
@@ -217,7 +219,7 @@
         $results = $database->query("SELECT group_id, name FROM ".TABLE_PREFIX."groups WHERE group_id != '1'");
         if($results->numRows() > 0) {
         	$oTpl->set_var('ID', '');
-        	$oTpl->set_var('NAME', $TEXT['PLEASE_SELECT'].'...');
+        	$oTpl->set_var('NAME', $mLang->TEXT_PLEASE_SELECT.'...');
         	$oTpl->set_var('SELECTED', ' selected="selected"');
         	$oTpl->parse('group_list', 'group_list_block', true);
         	while($group = $results->fetchRow()) {
@@ -237,7 +239,7 @@
         } else {
         	if($results->numRows() == 0) {
         		$oTpl->set_var('ID', '');
-        		$oTpl->set_var('NAME', $TEXT['NONE_FOUND']);
+        		$oTpl->set_var('NAME', $mLang->TEXT_NONE_FOUND);
         		$oTpl->parse('group_list', 'group_list_block', true);
         	}
         }
@@ -278,21 +280,21 @@
 
         // Insert language text and messages
         $oTpl->set_var(array(
-        			'TEXT_CANCEL' => $TEXT['CANCEL'],
-        			'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_NONE' => $TEXT['NONE'],
-        			'TEXT_HOME_FOLDER' => $TEXT['HOME_FOLDER'],
+        			'TEXT_CANCEL' => $mLang->TEXT_CANCEL,
+        			'TEXT_RESET' => $mLang->TEXT_RESET,
+        			'TEXT_ACTIVE' => $mLang->TEXT_ACTIVE,
+        			'TEXT_DISABLED' => $mLang->TEXT_DISABLED,
+        			'TEXT_PLEASE_SELECT' => $mLang->TEXT_PLEASE_SELECT,
+        			'TEXT_USERNAME' => $mLang->TEXT_USERNAME,
+        			'TEXT_PASSWORD' => $mLang->TEXT_PASSWORD,
+        			'TEXT_RETYPE_PASSWORD' => $mLang->TEXT_RETYPE_PASSWORD,
+        			'TEXT_DISPLAY_NAME' => $mLang->TEXT_DISPLAY_NAME,
+        			'TEXT_EMAIL' => $mLang->TEXT_EMAIL,
+        			'TEXT_GROUP' => $mLang->TEXT_GROUP,
+        			'TEXT_NONE' => $mLang->TEXT_NONE,
+        			'TEXT_HOME_FOLDER' => $mLang->TEXT_HOME_FOLDER,
         			'USERNAME_FIELDNAME' => $username_fieldname,
-        			'CHANGING_PASSWORD' => $MESSAGE['USERS_CHANGING_PASSWORD']
+        			'CHANGING_PASSWORD' => $mLang->MESSAGE_USERS_CHANGING_PASSWORD
         			)
         	);
 
Index: branches/2.8.x/wb/admin/users/save.php
===================================================================
--- branches/2.8.x/wb/admin/users/save.php	(revision 2064)
+++ branches/2.8.x/wb/admin/users/save.php	(revision 2065)
@@ -25,7 +25,6 @@
 
 	function save_user($admin, &$aActionRequest)
 	{
-		global $TEXT, $MESSAGE;
         // Create a javascript back link
 //        $js_back = ADMIN_URL.'/users/index.php';
         unset($aActionRequest['save']);
@@ -32,18 +31,19 @@
 
         $aActionRequest['modify']= 'change';
 		$database = WbDatabase::getInstance();
+		$mLang = Translate::getInstance();
         $bRetVal = 0;
     	$iMinPassLength = 6;
 
         if( !$admin->checkFTAN() )
         {
-        	msgQueue::add($MESSAGE['GENERIC_SECURITY_ACCESS']);
+        	msgQueue::add($mLang->MESSAGE_GENERIC_SECURITY_ACCESS);
             return $bRetVal;
         }
 
         // Check if user id is a valid number and doesnt equal 1
         if(!isset($aActionRequest['user_id']) OR !is_numeric($aActionRequest['user_id']) OR $aActionRequest['user_id'] == 1) {
-        	msgQueue::add('::'.$MESSAGE['GENERIC_NOT_UPGRADED']);
+        	msgQueue::add('::'.$mLang->MESSAGE_GENERIC_NOT_UPGRADED);
             return $bRetVal;
         } else {
         	$user_id = intval($aActionRequest['user_id']);
@@ -52,7 +52,7 @@
 		if( ($user_id < 2 ) )
 		{
 			// if($admin_header) { $admin->print_header(); }
-        	msgQueue::add($MESSAGE['GENERIC_SECURITY_OFFENSE']);
+        	msgQueue::add($mLang->MESSAGE_GENERIC_SECURITY_OFFENSE);
             return $bRetVal;
 		}
 		// Get existing values
@@ -83,7 +83,7 @@
 
         // Check values
         if($groups_id == "") {
-        	msgQueue::add($MESSAGE['USERS_NO_GROUP']);
+        	msgQueue::add($mLang->MESSAGE_USERS_NO_GROUP);
         } else {
             $aGroups_id = explode(',', $groups_id);
             //if user is in administrator-group, get this group else just get the first one
@@ -93,21 +93,21 @@
 //$admin->is_group_match($admin->get_groups_id(), '1' )
         if(!preg_match('/^[a-z]{1}[a-z0-9_-]{2,}$/i', $username))
         {
-        	msgQueue::add( $MESSAGE['USERS_NAME_INVALID_CHARS']);
+        	msgQueue::add( $mLang->MESSAGE_USERS_NAME_INVALID_CHARS);
         }
 
         if($password != "") {
         	if(strlen($password) < $iMinPassLength ) {
-        		msgQueue::add($MESSAGE['USERS_PASSWORD_TOO_SHORT']);
+        		msgQueue::add($mLang->MESSAGE['USERS_PASSWORD_TOO_SHORT']);
         	}
 
 			$pattern = '/[^'.$admin->password_chars.']/';
 			if (preg_match($pattern, $password)) {
-				msgQueue::add($MESSAGE['PREFERENCES_INVALID_CHARS']);
+				msgQueue::add($mLang->MESSAGE_PREFERENCES_INVALID_CHARS);
         	}
 
         	if(($password != $password2) ) {
-        		msgQueue::add($MESSAGE['USERS_PASSWORD_MISMATCH']);
+        		msgQueue::add($mLang->MESSAGE_USERS_PASSWORD_MISMATCH);
         	}
         }
 // check that display_name is unique in whoole system (prevents from User-faking)
@@ -114,14 +114,14 @@
     	$sql  = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'users` ';
     	$sql .= 'WHERE `user_id` <> '.(int)$user_id.' AND `display_name` LIKE "'.$display_name.'"';
     	if( $database->get_one($sql) > 0 ){
-            msgQueue::add($MESSAGE['USERS_USERNAME_TAKEN'].' ('.$TEXT['DISPLAY_NAME'].')');
-            msgQueue::add($MESSAGE['MEDIA_CANNOT_RENAME']);
+            msgQueue::add($mLang->MESSAGE_USERS_USERNAME_TAKEN.' ('.$mLang->TEXT_DISPLAY_NAME.')');
+            msgQueue::add($mLang->MESSAGE_MEDIA_CANNOT_RENAME);
         }
 //
 		if( ($admin->get_user_id() != '1' ) )
 		{
             if(findStringInFileList($display_name, dirname(__FILE__).'/disallowedNames')) {
-                msgQueue::add( $TEXT['ERROR'].' '.$TEXT['DISPLAY_NAME'].' ('.$display_name.')' );
+                msgQueue::add( $mLang->TEXT_ERROR.' '.$mLang->TEXT_DISPLAY_NAME.' ('.$display_name.')' );
             }
 		}
 
@@ -131,10 +131,10 @@
         {
         	if($admin->validate_email($email) == false)
             {
-                msgQueue::add($MESSAGE['USERS_INVALID_EMAIL'].' ('.$email.')');
+                msgQueue::add($mLang->MESSAGE_USERS_INVALID_EMAIL.' ('.$email.')');
         	}
         } else { // e-mail must be present
-        	msgQueue::add($MESSAGE['SIGNUP_NO_EMAIL']);
+        	msgQueue::add($mLang->MESSAGE_SIGNUP_NO_EMAIL);
         }
 
 		$sql  = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'users` '.
@@ -143,11 +143,11 @@
         // Check if the email already exists
         if( ($iFoundUser = $database->get_one($sql)) != null ) {
             if($iFoundUser) {
-            	if(isset($MESSAGE['USERS_EMAIL_TAKEN']))
+            	if(isset($mLang->MESSAGE_USERS_EMAIL_TAKEN))
                 {
-            		msgQueue::add($MESSAGE['USERS_EMAIL_TAKEN'].' ('.$email.')');
+            		msgQueue::add($mLang->MESSAGE_USERS_EMAIL_TAKEN.' ('.$email.')');
             	} else {
-            		msgQueue::add($MESSAGE['USERS_INVALID_EMAIL'].' ('.$email.')');
+            		msgQueue::add($mLang->MESSAGE_USERS_INVALID_EMAIL.' ('.$email.')');
             	}
             }
         }
@@ -174,7 +174,7 @@
                 $sHomeFolder = WB_PATH.MEDIA_DIRECTORY.'/home/'.( media_filename($username) );
                 if ( sizeof(createFolderProtectFile( $sHomeFolder )) )
                 {
-    //            	msgQueue::add($MESSAGE['MEDIA_DIR_NOT_MADE']);
+    //            	msgQueue::add($mLang->MESSAGE_MEDIA_DIR_NOT_MADE);
                 }
             }
 
@@ -204,7 +204,7 @@
 
             }
             if($database->query($sql)) {
-            	msgQueue::add($MESSAGE['USERS_SAVED'], true);
+            	msgQueue::add($mLang->MESSAGE_USERS_SAVED, true);
                 $bRetVal = $user_id;
             }
             if($database->is_error()) {
@@ -211,7 +211,7 @@
                msgQueue::add( implode('<br />',explode(';',$database->get_error())) );
             }
        } else {
-            	msgQueue::add($MESSAGE['GENERIC_NOT_UPGRADED']);
+            	msgQueue::add($mLang->MESSAGE_GENERIC_NOT_UPGRADED);
        }
 
 //        return $admin->getIDKEY($user_id);
Index: branches/2.8.x/wb/admin/users/languages/EN.php
===================================================================
--- branches/2.8.x/wb/admin/users/languages/EN.php	(nonexistent)
+++ branches/2.8.x/wb/admin/users/languages/EN.php	(revision 2065)
@@ -0,0 +1,85 @@
+<?php
+/****************************************************************************************
+ * extended language definition for WebsiteBaker                                        *
+ * ACP-module  users                                                                    *
+ * english (GB)                                                                         *
+ ****************************************************************************************/
+
+$HEADING['ADD_USER'] = 'Add User';
+$HEADING['MODIFY_USER'] = 'Change User';
+$HEADING['MODIFY_ACTIVE_USER'] = 'Changing/disabling users'; // new
+$HEADING['MODIFY_DELETE_USER'] = 'Changing/deleting users';
+
+$MENU['USERS'] = 'Users';
+
+$MESSAGE['GENERIC_FILL_IN_ALL']  = 'Please fill in all fields';
+$MESSAGE['GENERIC_FORGOT_OPTIONS']  = 'You have not made a selection!';
+$MESSAGE['GENERIC_NOT_COMPARE'] = ' not possible';
+$MESSAGE['GENERIC_NOT_UPGRADED'] = 'Can not Update';
+$MESSAGE['GENERIC_SECURITY_ACCESS'] = 'Security breach! Access is denied!';
+$MESSAGE['MEDIA_DIR_MADE'] = 'The directory was created successfully';
+$MESSAGE['MEDIA_DIR_NOT_MADE'] = 'The directory could not be created';
+$MESSAGE['MEDIA_CANNOT_RENAME'] = 'The rename was not successful';
+$MESSAGE['MEDIA_RENAMED'] = 'The renaming was successful';
+$MESSAGE['PREFERENCES_INVALID_CHARS'] = 'Invalid characters were used for the password';
+$MESSAGE['PREFERENCES_PASSWORD_CHANGED'] = 'The password has been changed successfully';
+$MESSAGE['SIGNUP_NO_EMAIL'] = 'Please enter an email address';
+$MESSAGE['USERS_ADDED'] = 'The user was successfully added';
+$MESSAGE['USERS_CHANGING_PASSWORD'] = 'Please note: You should only enter values ​​in the fields above, if you want to change the password of this user';
+$MESSAGE['USERS_CONFIRM_DELETE'] = 'Are you sure you want to delete the selected user?';
+$MESSAGE['USERS_DELETED'] = 'The user was successfully deleted';
+$MESSAGE['USERS_EMAIL_TAKEN'] = 'The given e-mail address is already in use';
+$MESSAGE['USERS_INVALID_EMAIL'] = 'The e-mail address is invalid';
+$MESSAGE['USERS_NAME_INVALID_CHARS'] = 'Invalid characters were used for login names';
+$MESSAGE['USERS_NO_GROUP'] = 'There was no group selected';
+$MESSAGE['USERS_PASSWORD_MISMATCH'] = 'The specified password is invalid';
+$MESSAGE['USERS_PASSWORD_TOO_SHORT'] = 'The password you entered was too short';
+$MESSAGE['USERS_SAVED'] = 'The user has been successfully saved';
+$MESSAGE['USERS_USERNAME_TAKEN'] = 'The specified login name is already in use';
+$MESSAGE['USERS_USERNAME_TOO_SHORT'] = 'The entered login name was too short';
+$MESSAGE['USERS_WAITING_ACTIVATION'] = 'Awaiting user activation'; // new
+
+$TEXT['ACTIVE'] = 'Activ';
+$TEXT['DEACTIVE'] = 'Deactivate'; // new
+$TEXT['DEACTIVED'] = 'Disabled'; // new
+$TEXT['ADD'] = 'Add';
+$TEXT['ARE_YOU_SURE'] = 'Are you sure?';
+$TEXT['BACK'] = 'Back';
+$TEXT['CANCEL'] = 'Cancel';
+$TEXT['CAN_DELETE_HIMSELF'] = 'Can delete itself';
+$TEXT['CHANGE'] = 'Changing';
+$TEXT['CHANGES'] = 'Changes';
+$TEXT['DELETE'] = 'Remove';
+$TEXT['DELETED'] = 'Deleted';
+$TEXT['DISABLED'] = 'Disabled';
+$TEXT['DISPLAY_NAME'] = 'Display Name';
+$TEXT['EMAIL'] = 'E-Mail';
+$TEXT['EMAIL_ADDRESS'] = 'E-Mail Adress';
+$TEXT['ENABLED'] = 'Enabled';
+$TEXT['ERROR'] = 'Error';
+$TEXT['FULL_NAME'] = 'Full Name';
+$TEXT['GROUP'] = 'Group';
+$TEXT['HOME_FOLDER'] = 'Personal Folder';
+$TEXT['HOME_FOLDERS'] = 'Personal Folders';
+$TEXT['INACTIVE'] = 'Inactiv'; // new
+$TEXT['LIST_OPTIONS'] = 'Shortlist';
+$TEXT['MANAGE_GROUPS'] = 'Manage Groups';
+$TEXT['MODIFY'] = 'Changing';
+$TEXT['NONE'] = 'None';
+$TEXT['NONE_FOUND'] = 'Not found';
+$TEXT['NO_RESULTS'] = 'No results';
+$TEXT['NO_SELECTION'] = 'No selection';
+$TEXT['PASSWORD'] = 'Password';
+$TEXT['PLEASE_SELECT'] = 'Please select';
+$TEXT['RESET'] = 'Reset';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Repeat new password';
+$TEXT['RETYPE_PASSWORD'] = 'Repeat Password';
+$TEXT['SAVE'] = 'Save';
+$TEXT['SHOW'] = 'Show';
+$TEXT['USER'] = 'User';
+$TEXT['USERNAME'] = 'Loginname';
+$TEXT['USERS_ACTIVE'] = 'User is active';
+$TEXT['USERS_CAN_SELFDELETE'] = 'Self-deleting possible';
+$TEXT['USERS_CHANGE_SETTINGS'] = 'Users can change their own settings';
+$TEXT['USERS_DELETED'] = 'The user was successfully deleted';
+$TEXT['USERS_MARKED_DELETED'] = 'User is marked as deleted'; // new
Index: branches/2.8.x/wb/admin/users/languages/DE.php
===================================================================
--- branches/2.8.x/wb/admin/users/languages/DE.php	(nonexistent)
+++ branches/2.8.x/wb/admin/users/languages/DE.php	(revision 2065)
@@ -0,0 +1,85 @@
+<?php
+/****************************************************************************************
+ * extended language definition for WebsiteBaker                                        *
+ * ACP-module  users                                                                    *
+ * deutsch                                                                              *
+ ****************************************************************************************/
+
+$HEADING['ADD_USER'] = 'Benutzer hinzufügen';
+$HEADING['MODIFY_USER'] = 'Benutzer ändern';
+$HEADING['MODIFY_ACTIVE_USER'] = 'Ändern/Deaktivieren von Benutzern'; // new
+$HEADING['MODIFY_DELETE_USER'] = 'Ändern/Löschen von Benutzern';
+
+$MENU['USERS'] = 'Benutzer';
+
+$MESSAGE['GENERIC_FILL_IN_ALL']  = 'Bitte alle Felder ausfüllen';
+$MESSAGE['GENERIC_FORGOT_OPTIONS']  = 'Sie haben keine Auswahl getroffen!';
+$MESSAGE['GENERIC_NOT_COMPARE'] = ' nicht möglich';
+$MESSAGE['GENERIC_NOT_UPGRADED'] = 'Aktualisierung nicht möglich';
+$MESSAGE['GENERIC_SECURITY_ACCESS'] = 'Sicherheitsverletzung!! Zugriff wurde verweigert!';
+$MESSAGE['MEDIA_DIR_MADE'] = 'Das Verzeichnis wurde erfolgreich angelegt';
+$MESSAGE['MEDIA_DIR_NOT_MADE'] = 'Das Verzeichnis konnte nicht angelegt werden';
+$MESSAGE['MEDIA_CANNOT_RENAME'] = 'Das Umbenennen war nicht erfolgreich';
+$MESSAGE['MEDIA_RENAMED'] = 'Das Umbenennen war erfolgreich';
+$MESSAGE['PREFERENCES_INVALID_CHARS'] = 'Es wurden ungültige Zeichen für des Passwort verwendet';
+$MESSAGE['PREFERENCES_PASSWORD_CHANGED'] = 'Das Passwort wurde erfolgreich geändert';
+$MESSAGE['SIGNUP_NO_EMAIL'] = 'Bitte geben Sie eine E-Mail Adresse an';
+$MESSAGE['USERS_ADDED'] = 'Der Benutzer wurde erfolgreich hinzugefügt';
+$MESSAGE['USERS_CHANGING_PASSWORD'] = 'Bitte beachten Sie: Sie sollten in die obigen Felder nur Werte eingeben, wenn Sie das Passwort dieses Benutzers ändern möchten';
+$MESSAGE['USERS_CONFIRM_DELETE'] = 'Sind Sie sicher, dass Sie den ausgewählten Benutzer löschen möchten?';
+$MESSAGE['USERS_DELETED'] = 'Der Benutzer wurde erfolgreich gelöscht';
+$MESSAGE['USERS_EMAIL_TAKEN'] = 'Die angegebene E-Mail Adresse wird bereits verwendet';
+$MESSAGE['USERS_INVALID_EMAIL'] = 'Die angegebene E-Mail Adresse ist ungültig';
+$MESSAGE['USERS_NAME_INVALID_CHARS'] = 'Es wurden ungültige Zeichen für den Loginnamen verwendet';
+$MESSAGE['USERS_NO_GROUP'] = 'Es wurde keine Gruppe ausgewählt';
+$MESSAGE['USERS_PASSWORD_MISMATCH'] = 'Das angegebene Passwort ist ungültig';
+$MESSAGE['USERS_PASSWORD_TOO_SHORT'] = 'Das eingegebene Passwort war zu kurz';
+$MESSAGE['USERS_SAVED'] = 'Der Benutzer wurde erfolgreich gespeichert';
+$MESSAGE['USERS_USERNAME_TAKEN'] = 'Der angegebene Loginname wird bereits verwendet';
+$MESSAGE['USERS_USERNAME_TOO_SHORT'] = 'Der eingegebene Loginname war zu kurz';
+$MESSAGE['USERS_WAITING_ACTIVATION'] = 'Erwarte Benutzer Aktivierung'; // new
+
+$TEXT['ACTIVE'] = 'Aktiv';
+$TEXT['DEACTIVE'] = 'Deaktivieren'; // new
+$TEXT['DEACTIVED'] = 'Deaktiviert'; // new
+$TEXT['ADD'] = 'Hinzufügen';
+$TEXT['ARE_YOU_SURE'] = 'Sind Sie sicher?';
+$TEXT['BACK'] = 'Zurück';
+$TEXT['CANCEL'] = 'Abbrechen';
+$TEXT['CAN_DELETE_HIMSELF'] = 'Kann sich selber löschen';
+$TEXT['CHANGE'] = 'Ändern';
+$TEXT['CHANGES'] = 'Änderungen';
+$TEXT['DELETE'] = 'Entfernen';
+$TEXT['DELETED'] = 'Gelöscht';
+$TEXT['DISABLED'] = 'Ausgeschaltet';
+$TEXT['DISPLAY_NAME'] = 'Angezeigter Name';
+$TEXT['EMAIL'] = 'E-Mail';
+$TEXT['EMAIL_ADDRESS'] = 'E-Mail Adresse';
+$TEXT['ENABLED'] = 'Eingeschaltet';
+$TEXT['ERROR'] = 'Fehler';
+$TEXT['FULL_NAME'] = 'Voller Name';
+$TEXT['GROUP'] = 'Gruppe';
+$TEXT['HOME_FOLDER'] = 'Persönlicher Ordner';
+$TEXT['HOME_FOLDERS'] = 'Persönliche Ordner';
+$TEXT['INACTIVE'] = 'Inaktiv'; // new
+$TEXT['LIST_OPTIONS'] = 'Auswahlliste';
+$TEXT['MANAGE_GROUPS'] = 'Gruppen verwalten';
+$TEXT['MODIFY'] = 'Ändern';
+$TEXT['NONE'] = 'Keine';
+$TEXT['NONE_FOUND'] = 'Keine gefunden';
+$TEXT['NO_RESULTS'] = 'Keine Ergebnisse';
+$TEXT['NO_SELECTION'] = 'Keine Auswahl';
+$TEXT['PASSWORD'] = 'Passwort';
+$TEXT['PLEASE_SELECT'] = 'Bitte auswählen';
+$TEXT['RESET'] = 'Zurücksetzen';
+$TEXT['RETYPE_NEW_PASSWORD'] = 'Neues Passwort wiederholen';
+$TEXT['RETYPE_PASSWORD'] = 'Passwort wiederholen';
+$TEXT['SAVE'] = 'Speichern';
+$TEXT['SHOW'] = 'zeigen';
+$TEXT['USER'] = 'Benutzer';
+$TEXT['USERNAME'] = 'Loginname';
+$TEXT['USERS_ACTIVE'] = 'Benutzer ist aktiv';
+$TEXT['USERS_CAN_SELFDELETE'] = 'Selbstlöschung möglich';
+$TEXT['USERS_CHANGE_SETTINGS'] = 'Benutzer kann eigene Einstellungen ändern';
+$TEXT['USERS_DELETED'] = 'Der Benutzer wurde erfolgreich gelöscht';
+$TEXT['USERS_MARKED_DELETED'] = 'Benutzer ist als gelöscht markiert'; // new
Index: branches/2.8.x/wb/admin/users/user_form.php
===================================================================
--- branches/2.8.x/wb/admin/users/user_form.php	(revision 2064)
+++ branches/2.8.x/wb/admin/users/user_form.php	(revision 2065)
@@ -26,8 +26,8 @@
 
 	function show_usermask($admin, &$aActionRequest)
 	{
-		global $TEXT, $MESSAGE, $HEADING, $MENU;
 		$database = WbDatabase::getInstance();
+		$mLang = Translate::getInstance();
 
     	$user_id = intval($aActionRequest['user_id']);
         $user = array(
@@ -71,7 +71,7 @@
     			   'SUB_ACTION'   => 'save',
                    'BACK_LINK'    => (isset($aActionRequest['BackLink'])) ? $aActionRequest['BackLink'] : '',
                    'CANCEL_URL'   => $aActionRequest['cancel_url'],
-    			   'SUBMIT_TITLE' => $TEXT['SAVE'],
+    			   'SUBMIT_TITLE' => $mLang->TEXT_SAVE,
                    'USER_ID' => $user['user_id'],
 //    			   'NO_RIGHTS' => 'hide',
 //    			   'CHANGING_GROUPS' => '',
@@ -101,7 +101,7 @@
     	$sql .= 'WHERE `group_id` != 1 ORDER BY `name`';
 		if($oRes = $database->query($sql)) {
 			$oTpl->set_var('ID', '');
-			$oTpl->set_var('NAME', $TEXT['PLEASE_SELECT'].'...');
+			$oTpl->set_var('NAME', $mLang->TEXT_PLEASE_SELECT.'...');
 			$oTpl->set_var('SELECTED', '');
 			$oTpl->parse('group_list', 'group_list_block', true);
 			while($group = $oRes->fetchRow(MYSQL_ASSOC)) {
@@ -147,7 +147,7 @@
 		} else {
 			if($oRes->numRows() == 0) {
 				$oTpl->set_var('ID', '');
-				$oTpl->set_var('NAME', $TEXT['NONE_FOUND']);
+				$oTpl->set_var('NAME', $mLang->TEXT_NONE_FOUND);
 				$oTpl->set_var('SELECTED', ' selected="selected"');
 				$oTpl->parse('group_list', 'group_list_block', true);
 			}
@@ -189,23 +189,23 @@
 
 		// Insert language text and messages
 		$oTpl->set_var(array(
-                    'TEXT_RESET' => $TEXT['RESET'],
-                    'TEXT_CANCEL' => $TEXT['CANCEL'],
-                    '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_NONE' => $TEXT['NONE'],
-                    'TEXT_HOME_FOLDER' => $TEXT['HOME_FOLDER'],
-                    'TEXT_SAVE_BACK' => $TEXT['SAVE'].' &amp; '.$TEXT['BACK'],
+                    'TEXT_RESET' => $mLang->TEXT_RESET,
+                    'TEXT_CANCEL' => $mLang->TEXT_CANCEL,
+                    'TEXT_ACTIVE' => $mLang->TEXT_ACTIVE,
+                    'TEXT_DISABLED' => $mLang->TEXT_DISABLED,
+                    'TEXT_PLEASE_SELECT' => $mLang->TEXT_PLEASE_SELECT,
+                    'TEXT_USERNAME' => $mLang->TEXT_USERNAME,
+                    'TEXT_PASSWORD' => $mLang->TEXT_PASSWORD,
+                    'TEXT_RETYPE_PASSWORD' => $mLang->TEXT_RETYPE_PASSWORD,
+                    'TEXT_DISPLAY_NAME' => $mLang->TEXT_DISPLAY_NAME,
+                    'TEXT_EMAIL' => $mLang->TEXT_EMAIL,
+                    'TEXT_GROUP' => $mLang->TEXT_GROUP,
+                    'TEXT_NONE' => $mLang->TEXT_NONE,
+                    'TEXT_HOME_FOLDER' => $mLang->TEXT_HOME_FOLDER,
+                    'TEXT_SAVE_BACK' => $mLang->TEXT_SAVE.' &amp; '.$mLang->TEXT_BACK,
                     'USERNAME_FIELDNAME' => $username_fieldname,
-                    'CHANGING_PASSWORD' => $MESSAGE['USERS_CHANGING_PASSWORD'],
-                    'HEADING_MODIFY_USER' => $HEADING['MODIFY_USER']
+                    'CHANGING_PASSWORD' => $mLang->MESSAGE_USERS_CHANGING_PASSWORD,
+                    'HEADING_MODIFY_USER' => $mLang->HEADING_MODIFY_USER
                     )
                 );
 
Index: branches/2.8.x/wb/admin/users/delete.php
===================================================================
--- branches/2.8.x/wb/admin/users/delete.php	(revision 2064)
+++ branches/2.8.x/wb/admin/users/delete.php	(revision 2065)
@@ -25,28 +25,56 @@
 /* -------------------------------------------------------- */
 function delete_user($admin, &$aActionRequest)
 {
-	global $TEXT, $MESSAGE;
 	$database = WbDatabase::getInstance();
+	$mLang = Translate::getInstance();
     $aUserID = array();
     $bRetVal = false;
-    if(isset($aActionRequest['activation_user_id'])) {
-		if(!is_array($aActionRequest['activation_user_id'])) {
-	
-	        $aUserID[] = $aActionRequest['activation_user_id'];
-	    } else {
-	        $aUserID = $aActionRequest['activation_user_id'];
-	    }
-    } else {
-	    if(isset($aActionRequest['user_id'])) {
-			if(!is_array($aActionRequest['user_id'])) {
-		
-		        $aUserID[] = $aActionRequest['user_id'];
-		    } else {
-		        $aUserID = $aActionRequest['user_id'];
-		    }
-	    } 
-    } 
 
+    $action = 'default';
+    $action = (isset($aActionRequest['delete']) ? 'delete' : $action );
+    $action = (isset($aActionRequest['delete_outdated']) ? 'delete_outdated' : $action );
+
+	switch($action) :
+		case 'delete': // delete the user
+    	    if(isset($aActionRequest['user_id'])) {
+    			if(!is_array($aActionRequest['user_id'])) {
+    		        $aUserID[] = $aActionRequest['user_id'];
+    		    } else {
+    		        $aUserID = $aActionRequest['user_id'];
+    		    }
+    	    } 
+    		break;
+		case 'delete_outdated': // delete Users awaiting activation
+            if(isset($aActionRequest['activation_user_id'])) {
+        		if(!is_array($aActionRequest['activation_user_id'])) {
+        	        $aUserID[] = $aActionRequest['activation_user_id'];
+        	    } else {
+        	        $aUserID = $aActionRequest['activation_user_id'];
+        	    }
+            }
+    		break;
+		default: // show userlist with empty modify mask
+	endswitch; // end of switch
+    
+//    if(isset($aActionRequest['activation_user_id'])) {
+//		if(!is_array($aActionRequest['activation_user_id'])) {
+//	
+//	        $aUserID[] = $aActionRequest['activation_user_id'];
+//	    } else {
+//	        $aUserID = $aActionRequest['activation_user_id'];
+//	    }
+//    } else {
+//	    if(isset($aActionRequest['user_id'])) {
+//			if(!is_array($aActionRequest['user_id'])) {
+//		
+//		        $aUserID[] = $aActionRequest['user_id'];
+//		    } else {
+//		        $aUserID = $aActionRequest['user_id'];
+//		    }
+//	    } 
+//    } 
+    
+
     foreach ( $aUserID AS $key => $value)
     {
         switch ($_SERVER['REQUEST_METHOD']) :
@@ -60,7 +88,7 @@
 
 		// Check if user id is a valid number and doesnt equal 1
 		if($user_id == 0){
-			msgQueue::add($MESSAGE['GENERIC_FORGOT_OPTIONS'] );
+			msgQueue::add($mLang->MESSAGE_GENERIC_FORGOT_OPTIONS );
             return $bRetVal;
         }
 
@@ -67,7 +95,7 @@
 		if( ($user_id < 2 ) )
 		{
 			// if($admin_header) { $admin->print_header(); }
-			msgQueue::add($MESSAGE['GENERIC_SECURITY_ACCESS'] );
+			msgQueue::add($mLang->MESSAGE_GENERIC_SECURITY_ACCESS );
             return $bRetVal;
 		}
 
@@ -77,18 +105,20 @@
                     'WHERE `user_id` = '.$user_id;
             if( ($iDeleteUser = $database->get_one($sql)) != null ) {
                 if($iDeleteUser) {
-    				// Delete the user
+    				// Deactivate the user
         			$sql  = 'UPDATE `'.TABLE_PREFIX.'users` SET '.
                             '`active` = 0 '.
                             'WHERE `user_id` = '.$user_id;
                     if( $database->query($sql) ) {
-                        msgQueue::add($TEXT['USERS_DELETED'], true);
+                        msgQueue::add($mLang->TEXT_USERS_MARKED_DELETED, true);
                     }
                 } else {
+
+
         			$sql  = 'DELETE FROM `'.TABLE_PREFIX.'users` '.
                             'WHERE `user_id` = '.$user_id;
                     if( $database->query($sql) ) {
-                        msgQueue::add($MESSAGE['USERS_DELETED'], true);
+                        msgQueue::add($mLang->MESSAGE_USERS_DELETED, true);
                     }
                 }
                 $bRetVal = true;
Index: branches/2.8.x/wb/admin/users/index.php
===================================================================
--- branches/2.8.x/wb/admin/users/index.php	(revision 2064)
+++ branches/2.8.x/wb/admin/users/index.php	(revision 2065)
@@ -33,8 +33,9 @@
 
 	function admin_users_index($aActionRequest)
 	{
-		global $MESSAGE;
 		$database = WbDatabase::getInstance();
+		$mLang = Translate::getinstance();
+		$mLang->enableAddon('admin\users');
 
         $sAdminPath = dirname(str_replace('\\', '/', __FILE__));
         $sAdminName = basename($sAdminPath);
@@ -91,7 +92,14 @@
 // Check if user id is a valid number and doesnt equal 1
                 $aActionRequest['user_id'] = $user_id;
     			if($user_id == 0){
-        			msgQueue::add($MESSAGE['GENERIC_FORGOT_OPTIONS'] );
+    				$admin = new admin('Access', 'users');
+    				msgQueue::clear();
+        			msgQueue::add($mLang->MESSAGE_GENERIC_FORGOT_OPTIONS );
+                    $aActionRequest['user_id'] = $user_id;
+                    $aActionRequest['cancel_url'] = ADMIN_URL.'/access/index.php';
+					include($sAdminPath.'/user_list.php');
+					$output  = show_userlist($admin, $aActionRequest);
+    				break;
                 }
 
     			if( ($user_id == $admin->get_user_id() ) )
@@ -105,7 +113,7 @@
     			if( ($user_id < 2 ) )
     			{
     				// if($admin_header) { $admin->print_header(); }
-    				msgQueue::add($MESSAGE['GENERIC_SECURITY_ACCESS'] );
+    				msgQueue::add($mLang->MESSAGE_GENERIC_SECURITY_ACCESS );
     			}
                 $admin_header = false;
                 if(isset($aActionRequest['BackLink'])) {
@@ -127,7 +135,6 @@
     			// Check if user id is a valid number and doesnt equal 1
                 $aActionRequest['user_id'] = $user_id;
                 $aActionRequest['cancel_url'] = ADMIN_URL.'/access/index.php';
-
 				if($user_id > 1) // prevent 'admin' [ID 1] from modify
 				{
 					include($sAdminPath.'/user_form.php');
Index: branches/2.8.x/wb/admin/users/add.php
===================================================================
--- branches/2.8.x/wb/admin/users/add.php	(revision 2064)
+++ branches/2.8.x/wb/admin/users/add.php	(revision 2065)
@@ -25,8 +25,8 @@
 
 	function add_user($admin, &$aActionRequest)
 	{
-		global $MESSAGE,$TEXT, $HEADING;
 		$database = WbDatabase::getInstance();
+		$mLang = Translate::getInstance();
         $bRetVal = false;
         $iMinPassLength = 6;
 
@@ -33,7 +33,7 @@
         if( !$admin->checkFTAN() )
         {
 //        	$admin->print_header();
-        	msgQueue::add($MESSAGE['GENERIC_SECURITY_ACCESS']);
+        	msgQueue::add($mLang->MESSAGE_GENERIC_SECURITY_ACCESS);
             return $bRetVal;
         }
 
@@ -63,7 +63,7 @@
         // Check values
         // Check values
         if($groups_id == "") {
-        	msgQueue::add($MESSAGE['USERS_NO_GROUP']);
+        	msgQueue::add($mLang->MESSAGE_USERS_NO_GROUP);
         } else {
             $aGroups_id = explode(',', $groups_id);
             //if user is in administrator-group, get this group else just get the first one
@@ -71,7 +71,7 @@
         }
 
         if(!preg_match('/^[a-z]{1}[a-z0-9_-]{2,}$/i', $username)) {
-        	msgQueue::add( $MESSAGE['USERS_NAME_INVALID_CHARS']);
+        	msgQueue::add( $mLang->MESSAGE_USERS_NAME_INVALID_CHARS);
         }
 
 		$sql  = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'users` '.
@@ -79,21 +79,21 @@
         // Check if username already exists
         if( ($iFoundUser = $database->get_one($sql)) != null ) {
             if($iFoundUser) {
-            	msgQueue::add($MESSAGE['USERS_USERNAME_TAKEN']);
+            	msgQueue::add($mLang->MESSAGE_USERS_USERNAME_TAKEN);
             }
         }
 
     	if(strlen($password) < $iMinPassLength ) {
-    		msgQueue::add($MESSAGE['USERS_PASSWORD_TOO_SHORT']);
+    		msgQueue::add($mLang->MESSAGE_USERS_PASSWORD_TOO_SHORT);
     	}
 
 		$pattern = '/[^'.$admin->password_chars.']/';
 		if (preg_match($pattern, $password)) {
-			msgQueue::add($MESSAGE['PREFERENCES_INVALID_CHARS']);
+			msgQueue::add($mLang->MESSAGE_PREFERENCES_INVALID_CHARS);
     	}
 
     	if(($password != $password2) ) {
-    		msgQueue::add($MESSAGE['USERS_PASSWORD_MISMATCH']);
+    		msgQueue::add($mLang->MESSAGE__USERS_PASSWORD_MISMATCH);
     	}
 
 //
@@ -101,15 +101,15 @@
     	$sql  = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'users` ';
     	$sql .= 'WHERE `user_id` <> '.(int)$admin->get_user_id().' AND `display_name` LIKE "'.$display_name.'"';
     	if( ($iFoundUser = intval($database->get_one($sql))) > 0 ){
-    	   msgQueue::add($MESSAGE['USERS_USERNAME_TAKEN'].' ('.$TEXT['DISPLAY_NAME'].')');
+    	   msgQueue::add($mLang->MESSAGE_USERS_USERNAME_TAKEN.' ('.$mLang->TEXT_DISPLAY_NAME.')');
         } else {
             if($display_name == '') {
-        	   msgQueue::add($MESSAGE['GENERIC_FILL_IN_ALL'].' ('.$TEXT['DISPLAY_NAME'].')');
+        	   msgQueue::add($mLang->MESSAGE_GENERIC_FILL_IN_ALL.' ('.$mLang->TEXT_DISPLAY_NAME.')');
             }
        }
 
         if(findStringInFileList($display_name, dirname(__FILE__).'/disallowedNames')) {
-            msgQueue::add( $TEXT['ERROR'].' '.$TEXT['DISPLAY_NAME'].' ('.$display_name.')' );
+            msgQueue::add( $mLang->TEXT_ERROR.' '.$mLang->TEXT_DISPLAY_NAME.' ('.$display_name.')' );
         }
 
         if($email != "")
@@ -116,10 +116,10 @@
         {
         	if($admin->validate_email($email) == false)
             {
-                msgQueue::add($MESSAGE['USERS_INVALID_EMAIL'].' ('.$email.')');
+                msgQueue::add($mLang->MESSAGE_USERS_INVALID_EMAIL.' ('.$email.')');
         	}
         } else { // e-mail must be present
-        	msgQueue::add($MESSAGE['SIGNUP_NO_EMAIL']);
+        	msgQueue::add($mLang->MESSAGE_SIGNUP_NO_EMAIL);
         }
 
 		$sql  = 'SELECT COUNT(*) FROM `'.TABLE_PREFIX.'users` '.
@@ -128,11 +128,11 @@
         // Check if the email already exists
         if( ($iFoundUser = $database->get_one($sql)) != null ) {
             if($iFoundUser) {
-            	if(isset($MESSAGE['USERS_EMAIL_TAKEN']))
+            	if(isset($mLang->MESSAGE_USERS_EMAIL_TAKEN))
                 {
-            		msgQueue::add($MESSAGE['USERS_EMAIL_TAKEN'].' ('.$email.')');
+            		msgQueue::add($mLang->MESSAGE_USERS_EMAIL_TAKEN.' ('.$email.')');
             	} else {
-            		msgQueue::add($MESSAGE['USERS_INVALID_EMAIL'].' ('.$email.')');
+            		msgQueue::add($mLang->MESSAGE_USERS_INVALID_EMAIL.' ('.$email.')');
             	}
             }
         }
@@ -150,7 +150,7 @@
                 $sHomeFolder = WB_PATH.MEDIA_DIRECTORY.'/home/'.( media_filename($username) );
                 if ( sizeof(createFolderProtectFile( $sHomeFolder )) )
                 {
-                	msgQueue::add($MESSAGE['MEDIA_DIR_NOT_MADE'].' ('.basename($sHomeFolder).') ' );
+                	msgQueue::add($mLang->MESSAGE_MEDIA_DIR_NOT_MADE.' ('.basename($sHomeFolder).') ' );
                 }
             }
             // Inser the user into the database
@@ -175,7 +175,7 @@
                     '`login_ip`     = \''.$database->escapeString($login_ip).'\' '.
                     '';
             if($database->query($sql)) {
-            	msgQueue::add($MESSAGE['USERS_ADDED'], true);
+            	msgQueue::add($mLang->MESSAGE_USERS_ADDED, true);
 		        $bRetVal = true;
             }
             if($database->is_error()) {
@@ -182,7 +182,7 @@
                 msgQueue::add( implode('<br />',explode(';',$database->get_error())) );
             }
         } else {
-        	msgQueue::add($HEADING['ADD_USER'].' '.$MESSAGE['GENERIC_NOT_COMPARE']);
+        	msgQueue::add($mLang->HEADING_ADD_USER.' '.$mLang->MESSAGE_GENERIC_NOT_COMPARE);
 
 		}
 		return $bRetVal;
