Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 1708)
+++ branches/2.8.x/CHANGELOG	(revision 1709)
@@ -13,6 +13,8 @@
 
 
 
+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)
 ! update folder templates/wb_theme, templates/argos_theme,admin/skel/htt
 ! add new icons, recoded css
Index: branches/2.8.x/wb/admin/skel/themes/htt/login_forgot.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/login_forgot.htt	(revision 1708)
+++ branches/2.8.x/wb/admin/skel/themes/htt/login_forgot.htt	(nonexistent)
@@ -1,83 +0,0 @@
-<!-- BEGIN main_block -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<title>Retrieve Login Details</title>
-<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
-<meta http-equiv="content-language" content="{LANGUAGE}" />
-<meta name="description" content="Retrieve Login Details" />
-<meta name="keywords" content="Retrieve Login Details" />
-<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
-</head>
-<body onload="document.forgot_pass.email.focus();">
-
-<table summary="" cellpadding="0" cellspacing="0" border="0" width="770" align="center">
-<tr>
-	<td width="60" valign="top">
-		<img src="{THEME_URL}/images/logo.png" alt="Logo" />
-	</td>
-	<td width="5">&nbsp;</td>
-	<td>&nbsp;</td>
-</tr>
-<tr>
-	<td colspan="3">&nbsp;</td>
-</tr>
-<tr>
-	<td colspan="3" style="font-size: 20px; text-align: center;">
-		<font style="color: #003366;">{SECTION_FORGOT}</font>
-	</td>
-</tr>
-</table>
-
-<table summary="" cellpadding="0" cellspacing="0" border="0" width="770" align="center" style="margin-top: 30px;" class="container">
-<tr>
-	<td class="content">
-	
-	<form name="forgot_pass" action="{ACTION_URL}" method="post">
-	<input type="hidden" name="url" value="{URL}" />
-		<table summary="" cellpadding="5" cellspacing="0" border="0" align="center" width="500">
-		<tr>
-			<td height="40" align="center" style="color: #{MESSAGE_COLOR}" colspan="2">{MESSAGE}</td>
-		</tr>
-		<tr style="{DISPLAY_FORM}">
-			<td height="10" colspan="2"></td>
-		</tr>
-		<tr style="{DISPLAY_FORM}">
-			<td width="165" height="30" align="right">{TEXT_EMAIL}:</td>
-			<td><input type="text" maxlength="255" name="email" value="{EMAIL}" style="width: 180px;" /></td>
-		</tr>
-		<tr style="{DISPLAY_FORM}" height="30">
-			<td>&nbsp;</td>
-			<td><input type="submit" name="submit" value="{TEXT_SEND_DETAILS}" style="width: 180px; font-size: 10px; text-transform: uppercase; color: #003366; border: 1px solid #336699; background-color: #DDDDDD; padding: 3px;"></td>
-		</tr>
-		<tr style="{DISPLAY_FORM}">
-			<td height="10" colspan="2"></td>
-		</tr>
-		</table>
-	</form>
-	
-	<center>
-		<a href="{LOGIN_URL}">{TEXT_NEED_TO_LOGIN}</a>
-		<br />
-		<br />
-		<a href="{WB_URL}/">{TEXT_HOME}</a>
-	</center>
-
-	</td>
-</tr>
-</table>
-
-<table summary="" cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0px 10px 0px;">
-<tr>
-	<td style="font-size:12px;text-align:center;">
-      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
-      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
-      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
-      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
-	</td>
-</tr>
-</table>
-
-</body>
-</html>
-<!-- END main_block -->
\ No newline at end of file

Property changes on: branches/2.8.x/wb/admin/skel/themes/htt/login_forgot.htt
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/skel/themes/htt/login.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/login.htt	(revision 1708)
+++ branches/2.8.x/wb/admin/skel/themes/htt/login.htt	(nonexistent)
@@ -1,98 +0,0 @@
-<!-- BEGIN mainBlock -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<title>{TEXT_LOGIN}</title>
-<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
-<meta http-equiv="content-language" content="{LANGUAGE}" />
-<meta name="description" content="{TEXT_LOGIN}" />
-<meta name="keywords" content="{TEXT_LOGIN}" />
-<link href="{THEME_URL}/theme.css" rel="stylesheet" type="text/css" />
-</head>
-<body onload="document.login.{USERNAME_FIELDNAME}.focus();">
-
-<table summary="" cellpadding="0" cellspacing="0" border="0" width="770" align="center">
-<tr>
-	<td width="60" valign="top">
-		<img src="{THEME_URL}/images/logo.png" alt="Logo" />
-	</td>
-	<td width="5">&nbsp;</td>
-	<td>&nbsp;</td>
-</tr>
-<tr>
-	<td colspan="3">&nbsp;</td>
-</tr>
-<tr>
-	<td colspan="3" style="font-size: 20px; text-align: center; ">
-		<span style="color: #003366;">{SECTION_LOGIN}</span>
-	</td>
-</tr>
-</table>
-
-<table summary="" cellpadding="0" cellspacing="0" border="0" width="770" align="center" style="margin-top: 30px;" class="container">
-<tr>
-	<td class="content">
-	<form name="login" action="{ACTION_URL}" method="post">
-	<input type="hidden" name="url" value="{URL}" />
-	<input type="hidden" name="username_fieldname" value="{USERNAME_FIELDNAME}" />
-	<input type="hidden" name="password_fieldname" value="{PASSWORD_FIELDNAME}" />
-		<table summary="" cellpadding="5" cellspacing="0" border="0" align="center" width="500">
-		<tr>
-			<td height="40" align="center" colspan="2">{MESSAGE}</td>
-		</tr>
-		<tr>
-			<td height="10" colspan="2"></td>
-		</tr>
-		<tr>
-			<td width="170" height="30" align="right">{TEXT_USERNAME}:</td>
-			<td><input type="text" maxlength="{MAX_USERNAME_LEN}" name="{USERNAME_FIELDNAME}" value="{USERNAME}" style="width: 180px;" /></td>
-		</tr>
-		<tr>
-			<td width="170" height="30" align="right">{TEXT_PASSWORD}:</td>
-			<td><input type="password" maxlength="{MAX_PASSWORD_LEN}" name="{PASSWORD_FIELDNAME}" style="width: 180px;" /></td>
-		</tr>
-		<tr style="{DISPLAY_REMEMBER_ME}">
-			<td>&nbsp;</td>
-			<td>
-				<input type="checkbox" name="remember" id="remember" value="true" />
-				<label for="remember">
-					{TEXT_REMEMBER_ME}
-				</label>
-			</td>
-		</tr>
-		<tr>
-			<td>&nbsp;</td>
-			<td><input type="submit" name="submit" value="{TEXT_LOGIN}" style="width: 180px; font-size: 10px; text-transform: uppercase; color: #003366; border: 1px solid #336699; background-color: #DDDDDD; padding: 3px;" /></td>
-		</tr>
-		<tr>
-			<td height="10" colspan="2"></td>
-		</tr>
-		</table>
-	</form>
-	
-	<center>
-		<a href="{FORGOTTEN_DETAILS_APP}">{TEXT_FORGOTTEN_DETAILS}</a>
-		<br />
-		<br />
-		<br />
-		<a href="{WB_URL}/">{TEXT_HOME}</a>
-	</center>
-
-	</td>
-</tr>
-</table>
-
-<table summary="" cellpadding="0" cellspacing="0" border="0" width="100%" style="padding: 10px 0px 10px 0px;">
-<tr>
-	<td style="font-size:12px;text-align:center;">
-      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
-      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
-      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
-      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
-	</td>
-</tr>
-</table>
-
-</body>
-</html>
-<!-- END mainBlock -->
\ No newline at end of file

Property changes on: branches/2.8.x/wb/admin/skel/themes/htt/login.htt
___________________________________________________________________
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:keywords
## -1 +0,0 ##
-Date Author Id Revision HeadURL
\ No newline at end of property
Index: branches/2.8.x/wb/admin/skel/themes/htt/loginBox.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/loginBox.htt	(nonexistent)
+++ branches/2.8.x/wb/admin/skel/themes/htt/loginBox.htt	(revision 1709)
@@ -0,0 +1,110 @@
+<!-- BEGIN mainBlock -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>{TEXT_LOGIN} - {WB_URL}</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="{TEXT_LOGIN}" />
+<meta name="keywords" content="{TEXT_LOGIN}" />
+<link href="{THEME_URL}/css/screen.css" rel="stylesheet" type="text/css" />
+<link href="{THEME_URL}/css/login.css" rel="stylesheet" type="text/css" />
+</head>
+<body onload="document.login.{USERNAME_FIELDNAME}.focus();">
+<div class="main">
+
+	<table class="header layout">
+	<tr>
+		<td class="logo">
+			<a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/logo.png" alt="Logo" /></a>
+		</td>
+		<td></td>
+		<td class="topnav {LOGIN_DISPLAY_NONE}">
+			<span><a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/{START_ICON}.png" alt="{TITLE_START}" /></a></span>
+			&nbsp;&nbsp;<a href="{URL_VIEW}" target="_blank" title="{TITLE_VIEW}"><img src="{THEME_URL}/images/view.png" alt="{WB_URL}" /></a>
+			&nbsp; <a href="{URL_HELP}" target="_blank" title="{TITLE_HELP}"><img src="{THEME_URL}/images/help.png" alt="{TITLE_HELP}" /></a>
+			&nbsp; <a href="{LOGIN_LINK}" title="{TITLE_LOGOUT}"><img src="{THEME_URL}/images/{LOGIN_ICON}.png" alt="{TITLE_LOGOUT}" /></a>
+		</td>
+		<td></td>
+		<td class="version {LOGIN_DISPLAY_NONE}">
+			Version {VERSION} {SP}<br />
+			Revision {REVISION}
+		</td>
+	</tr>
+	</table>
+
+	<div class="table">
+		<div class="td">
+		<div class="content">
+			<div class="login_box">
+				<form class="settings_table" name="login" action="{ACTION_URL}" method="post">
+					<input class="none" type="hidden" name="url" value="{URL}" />
+					<input class="none" type="hidden" name="username_fieldname" value="{USERNAME_FIELDNAME}" />
+					<input class="none" type="hidden" name="password_fieldname" value="{PASSWORD_FIELDNAME}" />
+					<input class="none" type="hidden" name="type" value="login" />
+					<input class="none" type="hidden" name="remember" id="remember" value="true" />
+
+				<fieldset class="center">
+					<legend>{SECTION_LOGIN} - {WB_URL}</legend>
+					<div class="sub-row">
+						<div class="input cleft" >
+						</div>
+					</div>
+					<div class="sub-row">
+						<h4 class="center">{MESSAGE}</h4>
+					</div>
+					<div class="sub-row">
+						<div class="input cleft" >
+						</div>
+					</div>
+					<div class="sub-row">
+						<label class="setting_name rBold">{TEXT_USERNAME}:</label>
+						<div class="input cleft" >
+						<input type="text" maxlength="{MAX_USERNAME_LEN}" name="{USERNAME_FIELDNAME}" value="{USERNAME}" />
+						</div>
+					</div>
+					<div class="sub-row">
+						<label class="setting_name rBold">{TEXT_PASSWORD}:</label>
+						<div class="input cleft" >
+						<input type="password" maxlength="{MAX_PASSWORD_LEN}" name="{PASSWORD_FIELDNAME}" />
+						</div>
+					</div>
+					<div class="sub-row">
+						<div class="input" >
+						<input type="submit" name="submit" value="{TEXT_LOGIN}" />
+						<input type="reset"  name="submit" value="{TEXT_RESET}" />
+						</div>
+					</div>
+					<br />
+					<div class="sub-row">
+						<div class="input" >
+							<p class="link"><a href="{FORGOTTEN_DETAILS_APP}">{TEXT_FORGOTTEN_DETAILS}</a></p>
+							<p class="link"><a href="{WB_URL}/" target="_blank">{TEXT_HOME}</a></p>
+						</div>
+					</div>
+
+				</fieldset>
+
+				</form>
+			</div>
+		</div>
+		</div>
+	</div>
+
+	<table class="footer">
+	<tbody>
+	<tr>
+		<td>
+	      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+	      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+	      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+	      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+		</td>
+	</tr>
+	</tbody>
+	</table>
+</div>
+
+</body>
+</html>
+<!-- END mainBlock -->
\ No newline at end of file

Property changes on: branches/2.8.x/wb/admin/skel/themes/htt/loginBox.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/loginForgot.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/loginForgot.htt	(nonexistent)
+++ branches/2.8.x/wb/admin/skel/themes/htt/loginForgot.htt	(revision 1709)
@@ -0,0 +1,99 @@
+<!-- BEGIN main_block -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>Retrieve Login Details</title>
+<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
+<meta http-equiv="content-language" content="{LANGUAGE}" />
+<meta name="description" content="Retrieve Login Details" />
+<meta name="keywords" content="Retrieve Login Details" />
+<link href="{THEME_URL}/css/screen.css" rel="stylesheet" type="text/css" />
+<link href="{THEME_URL}/css/login.css" rel="stylesheet" type="text/css" />
+</head>
+<body onload="document.forgot_pass.email.focus();">
+<div class="main">
+
+	<table class="header layout">
+	<tr>
+		<td class="logo">
+			<a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/logo.png" alt="Logo" /></a>
+		</td>
+		<td></td>
+		<td class="topnav {LOGIN_DISPLAY_NONE}">
+			<span><a href="{ADMIN_URL}" title="{TITLE_START}"><img src="{THEME_URL}/images/{START_ICON}.png" alt="{TITLE_START}" /></a></span>
+			&nbsp;&nbsp;<a href="{URL_VIEW}" target="_blank" title="{TITLE_VIEW}"><img src="{THEME_URL}/images/view.png" alt="{WB_URL}" /></a>
+			&nbsp; <a href="{URL_HELP}" target="_blank" title="{TITLE_HELP}"><img src="{THEME_URL}/images/help.png" alt="{TITLE_HELP}" /></a>
+			&nbsp; <a href="{LOGIN_LINK}" title="{TITLE_LOGOUT}"><img src="{THEME_URL}/images/{LOGIN_ICON}.png" alt="{TITLE_LOGOUT}" /></a>
+		</td>
+		<td></td>
+		<td class="version {LOGIN_DISPLAY_NONE}">
+			Version {VERSION} {SP}<br />
+			Revision {REVISION}
+		</td>
+	</tr>
+	</table>
+
+	<div class="table">
+		<div class="td">
+		<div class="content">
+			<div class="login_box">
+				<form class="settings_table" name="forgot_pass" action="{ACTION_URL}" method="post">
+				<fieldset class="center">
+					<legend>{SECTION_FORGOT}</legend>
+					<div class="sub-row">
+						<div class="input cleft" >
+						</div>
+					</div>
+					<div class="sub-row">
+						<h4 class="center">{MESSAGE}</h4>
+					</div>
+					<div class="sub-row">
+						<div class="input cleft" >
+						</div>
+					</div>
+					<div class="sub-row">
+						<label class="setting_name rBold">{TEXT_EMAIL}:</label>
+						<div class="input cleft" >
+						<input type="text" maxlength="255" name="email" value="{EMAIL}" />
+						</div>
+					</div>
+					<br class="clear" />
+					<br />
+					<br />
+					<div class="sub-row center">
+						<div class="input" >
+						<input type="submit" name="submit" value="{TEXT_SEND_DETAILS}" />
+						<input type="reset"  name="submit" value="{TEXT_RESET}" />
+						</div>
+					</div>
+					<br />
+					<div class="sub-row">
+						<div class="input center" >
+							<p class="link"><a href="{LOGIN_URL}">{TEXT_NEED_TO_LOGIN}</a></p>
+							<p class="link"><a href="{WB_URL}/" target="_blank">{TEXT_HOME}</a></p>
+						</div>
+					</div>
+				</fieldset>
+				</form>
+			</div>
+		</div>
+		</div>
+	</div>
+
+	<table class="footer">
+	<tbody>
+	<tr>
+		<td>
+	      <!-- Please note: the below reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+	      <a href="http://www.websitebaker2.org/" title="external">WebsiteBaker</a> is released under the
+	      <a href="http://www.gnu.org/licenses/gpl.html" title="WebsiteBaker is released under the GNU General Public License">GNU General Public License</a>
+	      <!-- Please note: the above reference to the GNU GPL should not be removed, as it provides a link for users to read about warranty, etc. -->
+		</td>
+	</tr>
+	</tbody>
+	</table>
+</div>
+
+</body>
+</html>
+<!-- END main_block -->
\ No newline at end of file

Property changes on: branches/2.8.x/wb/admin/skel/themes/htt/loginForgot.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/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 1708)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 1709)
@@ -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', '1708');
+if(!defined('REVISION')) define('REVISION', '1709');
 if(!defined('SP')) define('SP', '');
Index: branches/2.8.x/wb/admin/login/forgot/index.php
===================================================================
--- branches/2.8.x/wb/admin/login/forgot/index.php	(revision 1708)
+++ branches/2.8.x/wb/admin/login/forgot/index.php	(revision 1709)
@@ -4,7 +4,7 @@
  * @category        admin
  * @package         login
  * @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
@@ -16,7 +16,9 @@
 */
 
 // Include the configuration file
-require('../../../config.php');
+if(!defined('WB_URL') && file_exists(realpath('../../../config.php'))) {
+	require('../../../config.php');
+}
 // Include the language file
 require(WB_PATH.'/languages/'.DEFAULT_LANGUAGE.'.php');
 // Include the database class file and initiate an object
@@ -25,14 +27,14 @@
 
 // Get the website title
 $results = $database->query("SELECT value FROM ".TABLE_PREFIX."settings WHERE name = 'title'");
-$results = $results->fetchRow();
+$results = $results->fetchRow(MYSQL_ASSOC);
 $website_title = $results['value'];
 
 // Check if the user has already submitted the form, otherwise show it
 if(isset($_POST['email']) AND $_POST['email'] != "") {
-	
+
 	$email = htmlspecialchars($_POST['email'],ENT_QUOTES);
-	
+
 	// Check if the email exists in the database
 	$query = "SELECT user_id,username,display_name,email,last_reset,password FROM ".TABLE_PREFIX."users WHERE email = '".$admin->add_slashes($_POST['email'])."'";
 	$results = $database->query($query);
@@ -39,21 +41,21 @@
 	if($results->numRows() > 0) {
 
 		// Get the id, username, email, and last_reset from the above db query
-		$results_array = $results->fetchRow();
-		
+		$results_array = $results->fetchRow(MYSQL_ASSOC);
+
 		// Check if the password has been reset in the last 2 hours
 		$last_reset = $results_array['last_reset'];
 		$time_diff = time()-$last_reset; // Time since last reset in seconds
 		$time_diff = $time_diff/60/60; // Time since last reset in hours
 		if($time_diff < 2) {
-			
+
 			// Tell the user that their password cannot be reset more than once per hour
 			$message = $MESSAGE['FORGOT_PASS']['ALREADY_RESET'];
-			
+
 		} else {
-			
+
 			$old_pass = $results_array['password'];
-			
+
 			// Generate a random password then update the database with it
 			$new_pass = '';
 			$salt = "abchefghjkmnpqrstuvwxyz0123456789";
@@ -65,9 +67,9 @@
 				$new_pass = $new_pass . $tmp;
 				$i++;
 			}
-			
+
 			$database->query("UPDATE ".TABLE_PREFIX."users SET password = '".md5($new_pass)."', last_reset = '".time()."' WHERE user_id = '".$results_array['user_id']."'");
-			
+
 			if($database->is_error()) {
 				// Error updating database
 				$message = $database->get_error();
@@ -78,11 +80,11 @@
 
 				// Replace placeholders from language variable with values
 				$search = array('{LOGIN_DISPLAY_NAME}', '{LOGIN_WEBSITE_TITLE}', '{LOGIN_NAME}', '{LOGIN_PASSWORD}');
-				$replace = array($results_array['display_name'], WEBSITE_TITLE, $results_array['username'], $new_pass); 
+				$replace = array($results_array['display_name'], WEBSITE_TITLE, $results_array['username'], $new_pass);
 				$mail_message = str_replace($search, $replace, $MESSAGE['SIGNUP2']['BODY_LOGIN_FORGOT']);
 
 				// Try sending the email
-				if($admin->mail(SERVER_EMAIL,$mail_to,$mail_subject,$mail_message)) { 
+				if($admin->mail(SERVER_EMAIL,$mail_to,$mail_subject,$mail_message)) {
 					$message = $MESSAGE['FORGOT_PASS']['PASSWORD_RESET'];
 					$display_form = false;
 				} else {
@@ -90,9 +92,9 @@
 					$message = $MESSAGE['FORGOT_PASS']['CANNOT_EMAIL'];
 				}
 			}
-		
+
 		}
-		
+
 	} else {
 		// Email doesn't exist, so tell the user
 		$message = $MESSAGE['FORGOT_PASS']['EMAIL_NOT_FOUND'];
@@ -99,7 +101,7 @@
 		// and delete the wrong Email
 		$email = '';
 	}
-	
+
 } else {
 	$email = '';
 }
@@ -110,11 +112,11 @@
 } else {
 	$message_color = 'FF0000';
 }
-	
+
 // Setup template object, parse vars to it, then parse it
 // Create new template object
-$template = new Template(dirname($admin->correct_theme_source('login_forgot.htt')));
-$template->set_file('page', 'login_forgot.htt');
+$template = new Template(dirname($admin->correct_theme_source('loginForgot.htt')));
+$template->set_file('page', 'loginForgot.htt');
 $template->set_block('page', 'main_block', 'main');
 if(defined('FRONTEND')) {
 	$template->set_var('ACTION_URL', 'forgot.php');
@@ -128,19 +130,35 @@
 }
 
 $template->set_var(array(
-								'SECTION_FORGOT' => $MENU['FORGOT'],
-								'MESSAGE_COLOR' => $message_color,
-								'MESSAGE' => $message,
-								'WB_URL' => WB_URL,
-								'ADMIN_URL' => ADMIN_URL,
-								'THEME_URL' => THEME_URL,
-								'LANGUAGE' => strtolower(LANGUAGE),
-								'TEXT_EMAIL' => $TEXT['EMAIL'],
-								'TEXT_SEND_DETAILS' => $TEXT['SEND_DETAILS'],
-								'TEXT_HOME' => $TEXT['HOME'],
-								'TEXT_NEED_TO_LOGIN' => $TEXT['NEED_TO_LOGIN']
-								)
-						);
+				'SECTION_FORGOT' => $MENU['FORGOT'],
+				'MESSAGE_COLOR' => $message_color,
+				'MESSAGE' => $message,
+				'WEBSITE_TITLE' => WEBSITE_TITLE,
+				'TEXT_ADMINISTRATION' => $TEXT['ADMINISTRATION'],
+				'ADMIN_URL' => ADMIN_URL,
+				'WB_URL' => WB_URL,
+				'URL_VIEW' => WB_URL,
+				'THEME_URL' => THEME_URL,
+				'VERSION' => VERSION,
+				'SP' => (defined('SP') ? SP : ''),
+				'REVISION' => REVISION,
+				'LANGUAGE' => strtolower(LANGUAGE),
+				'TEXT_EMAIL' => $TEXT['EMAIL'],
+				'TEXT_SEND_DETAILS' => $TEXT['SEND_DETAILS'],
+				'TEXT_LOGIN' => $TEXT['LOGIN'],
+				'TITLE_LOGOUT' => $MENU['LOGIN'],
+				'TEXT_RESET' => $TEXT['RESET'],
+				'TEXT_HOME' => $TEXT['HOME'],
+				'TITLE_VIEW' => $TEXT['WEBSITE'],
+				'LOGIN_ICON' => 'login',
+				'LOGIN_LINK' => $_SERVER['SCRIPT_NAME'],
+				'START_ICON' => 'blank',
+				'LOGIN_DISPLAY_HIDDEN' => !$admin->is_authenticated() ? 'hidden' : '',
+				'LOGIN_DISPLAY_NONE' => !$admin->is_authenticated() ? 'none' : '',
+				'URL_HELP' => 'http://www.websitebaker.org/',
+				'TEXT_NEED_TO_LOGIN' => $TEXT['NEED_TO_LOGIN']
+				)
+		);
 
 if(defined('FRONTEND')) {
 	$template->set_var('LOGIN_URL', WB_URL.'/account/login.php');
@@ -147,7 +165,7 @@
 } else {
 	$template->set_var('LOGIN_URL', ADMIN_URL);
 }
-$template->set_var('INTERFACE_URL', ADMIN_URL.'/interface');	
+$template->set_var('INTERFACE_URL', ADMIN_URL.'/interface');
 
 if(defined('DEFAULT_CHARSET')) {
 	$charset=DEFAULT_CHARSET;
@@ -155,7 +173,9 @@
 	$charset='utf-8';
 }
 
-$template->set_var('CHARSET', $charset);	
+$template->set_var('CHARSET', $charset);
 
 $template->parse('main', 'main_block', false);
 $template->pparse('output', 'page');
+
+//$admin->print_footer();
Index: branches/2.8.x/wb/admin/login/index.php
===================================================================
--- branches/2.8.x/wb/admin/login/index.php	(revision 1708)
+++ branches/2.8.x/wb/admin/login/index.php	(revision 1709)
@@ -4,7 +4,7 @@
  * @category        admin
  * @package         login
  * @author          Ryan Djurovich, WebsiteBaker Project
- * @copyright       2009-2011, Website Baker Org. e.V.
+ * @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
@@ -13,9 +13,12 @@
  * @filesource		$HeadURL$
  * @lastmodified    $Date$
  *
-*/
+ */
 
-require_once("../../config.php");
+	require('../../config.php');
+// Include the configuration file
+if(!defined('WB_URL') && file_exists(realpath('../../config.php'))) {
+}
 require_once(WB_PATH."/framework/class.login.php");
 
 if(defined('SMART_LOGIN') AND SMART_LOGIN == 'enabled') {
@@ -40,26 +43,30 @@
 $admin = new admin('Start', '', false, false);
 
 $WarnUrl = str_replace(WB_PATH,WB_URL,$admin->correct_theme_source('warning.html'));
-// Setup template object, parse vars to it, then parse it
-$ThemePath = dirname($admin->correct_theme_source('login.htt'));
 
+$LoginTpl = 'loginBox.htt';
+$ThemePath = dirname($admin->correct_theme_source('loginBox.htt'));
+
 $thisApp = new Login( array(
-						'MAX_ATTEMPS' => "3",
-						'WARNING_URL' => $WarnUrl,
-						'USERNAME_FIELDNAME' => $username_fieldname,
-						'PASSWORD_FIELDNAME' => $password_fieldname,
-						'REMEMBER_ME_OPTION' => SMART_LOGIN,
-						'MIN_USERNAME_LEN' => "2",
-						'MIN_PASSWORD_LEN' => "2",
-						'MAX_USERNAME_LEN' => "30",
-						'MAX_PASSWORD_LEN' => "30",
-						'LOGIN_URL' => ADMIN_URL."/login/index.php",
-						'DEFAULT_URL' => ADMIN_URL."/start/index.php",
-						'TEMPLATE_DIR' => $ThemePath,
-						'TEMPLATE_FILE' => "login.htt",
-						'FRONTEND' => false,
-						'FORGOTTEN_DETAILS_APP' => ADMIN_URL."/login/forgot/index.php",
-						'USERS_TABLE' => TABLE_PREFIX."users",
-						'GROUPS_TABLE' => TABLE_PREFIX."groups",
-				)
+					'MAX_ATTEMPS' => "3",
+					'WARNING_URL' => $WarnUrl,
+					'INFO_URL' => '##',
+					'INFO_TEXT' => 'News',
+					'USERNAME_FIELDNAME' => $username_fieldname,
+					'PASSWORD_FIELDNAME' => $password_fieldname,
+					'REMEMBER_ME_OPTION' => SMART_LOGIN,
+					'MIN_USERNAME_LEN' => "2",
+					'MIN_PASSWORD_LEN' => "2",
+					'MAX_USERNAME_LEN' => "30",
+					'MAX_PASSWORD_LEN' => "30",
+					'LOGIN_URL' => ADMIN_URL."/login/index.php",
+					'DEFAULT_URL' => ADMIN_URL."/start/index.php",
+					'TEMPLATE_DIR' => $ThemePath,
+					'TEMPLATE_FILE' => $LoginTpl,
+					'FRONTEND' => false,
+					'FORGOTTEN_DETAILS_APP' => ADMIN_URL."/login/forgot/index.php",
+					'USERS_TABLE' => TABLE_PREFIX."users",
+					'GROUPS_TABLE' => TABLE_PREFIX."groups",
+			)
 		);
+//$admin->print_footer();
Index: branches/2.8.x/wb/framework/msgQueue.php
===================================================================
--- branches/2.8.x/wb/framework/msgQueue.php	(revision 1708)
+++ branches/2.8.x/wb/framework/msgQueue.php	(revision 1709)
@@ -50,7 +50,7 @@
 	{
 		return (sizeof(self::handle()->_success) == 0 && sizeof(self::handle()->_error) == 0 );
 	}
-	
+
 	public static function getError($retval_type = self::RETVAL_STRING)
 	{
 		if(sizeof(self::handle()->_error))
@@ -81,4 +81,3 @@
 
 
 }
-?>
Index: branches/2.8.x/wb/framework/class.login.php
===================================================================
--- branches/2.8.x/wb/framework/class.login.php	(revision 1708)
+++ branches/2.8.x/wb/framework/class.login.php	(revision 1709)
@@ -4,7 +4,7 @@
  * @category        framework
  * @package         backend login
  * @author          Ryan Djurovich, WebsiteBaker Project
- * @copyright       2009-2011, Website Baker Org. e.V.
+ * @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
@@ -70,8 +70,9 @@
 		}
 		if($this->is_authenticated() == true) {
 			// User already logged-in, so redirect to default url
-			header('Location: '.$this->url);
-			exit();
+//				header("Location: ".$this->url);
+//				exit(0);
+				$this->send_header($this->url);
 		} elseif($this->is_remembered() == true) {
 			// User has been "remembered"
 			// Get the users password
@@ -85,32 +86,33 @@
 			// Check if the user exists (authenticate them)
 			if($this->authenticate()) {
 				// Authentication successful
-				header("Location: ".$this->url);
-				exit(0);
+//				header("Location: ".$this->url);
+//				exit(0);
+				$this->send_header($this->url);
 			} else {
-				$this->message = $MESSAGE['LOGIN']['AUTHENTICATION_FAILED'];
+				$this->message = $MESSAGE['LOGIN_AUTHENTICATION_FAILED'];
 				$this->increase_attemps();
 			}
 		} elseif($this->username == '' AND $this->password == '') {
-			$this->message = $MESSAGE['LOGIN']['BOTH_BLANK'];
+			$this->message = $MESSAGE['LOGIN_BOTH_BLANK'];
 			$this->display_login();
 		} elseif($this->username == '') {
-			$this->message = $MESSAGE['LOGIN']['USERNAME_BLANK'];
+			$this->message = $MESSAGE['LOGIN_USERNAME_BLANK'];
 			$this->increase_attemps();
 		} elseif($this->password == '') {
-			$this->message = $MESSAGE['LOGIN']['PASSWORD_BLANK'];
+			$this->message = $MESSAGE['LOGIN_PASSWORD_BLANK'];
 			$this->increase_attemps();
 		} elseif($this->username_len < $config_array['MIN_USERNAME_LEN']) {
-			$this->message = $MESSAGE['LOGIN']['USERNAME_TOO_SHORT'];
+			$this->message = $MESSAGE['LOGIN_USERNAME_TOO_SHORT'];
 			$this->increase_attemps();
 		} elseif($this->password_len < $config_array['MIN_PASSWORD_LEN']) {
-			$this->message = $MESSAGE['LOGIN']['PASSWORD_TOO_SHORT'];
+			$this->message = $MESSAGE['LOGIN_PASSWORD_TOO_SHORT'];
 			$this->increase_attemps();
 		} elseif($this->username_len > $config_array['MAX_USERNAME_LEN']) {
-			$this->message = $MESSAGE['LOGIN']['USERNAME_TOO_LONG'];
+			$this->message = $MESSAGE['LOGIN_USERNAME_TOO_LONG'];
 			$this->increase_attemps();
 		} elseif($this->password_len > $config_array['MAX_PASSWORD_LEN']) {
-			$this->message = $MESSAGE['LOGIN']['PASSWORD_TOO_LONG'];
+			$this->message = $MESSAGE['LOGIN_PASSWORD_TOO_LONG'];
 			$this->increase_attemps();
 		} else {
 			// Check if the user exists (authenticate them)
@@ -117,11 +119,12 @@
 			$this->password = md5($this->password);
 			if($this->authenticate()) {
 				// Authentication successful
-				//echo $this->url;exit();
-				header("Location: ".$this->url);
-				exit(0);
+// 				echo $this->url;exit();
+// 				header("Location: ".$this->url);
+// 				exit(0);
+				$this->send_header($this->url);
 			} else {
-				$this->message = $MESSAGE['LOGIN']['AUTHENTICATION_FAILED'];
+				$this->message = $MESSAGE['LOGIN_AUTHENTICATION_FAILED'];
 				$this->increase_attemps();
 			}
 		}
@@ -213,7 +216,7 @@
 					}
 				}
 				$first_group = false;
-			}	
+			}
 
 			// Update the users table with current ip and timestamp
 			$get_ts = time();
@@ -238,100 +241,22 @@
 		}
 		$this->display_login();
 	}
-	
-	// Function to set a "remembering" cookie for the user
+
+	// Function to set a "remembering" cookie for the user - removed
 	function remember($user_id) {
 		return true;
-//		global $database;
-//		$remember_key = '';
-//		// Generate user id to append to the remember key
-//		$length = 11-strlen($user_id);
-//		if($length > 0) {
-//			for($i = 1; $i <= $length; $i++) {
-//				$remember_key .= '0';
-//			}
-//		}
-//		// Generate remember key
-//		$remember_key .= $user_id.'_';
-//		$salt = "abchefghjkmnpqrstuvwxyz0123456789";
-//		srand((double)microtime()*1000000);
-//		$i = 0;
-//		while ($i <= 10) {
-//			$num = rand() % 33;
-//			$tmp = substr($salt, $num, 1);
-//			$remember_key = $remember_key . $tmp;
-//			$i++;
-//		}
-//		$remember_key = $remember_key;
-//		// Update the remember key in the db
-//		// $database = new database();
-//		$database->query("UPDATE ".$this->users_table." SET remember_key = '$remember_key' WHERE user_id = '$user_id' LIMIT 1");
-//		if($database->is_error()) {
-//			return false;
-//		} else {
-//			// Workout options for the cookie
-//			$cookie_name = 'REMEMBER_KEY';
-//			$cookie_value = $remember_key;
-//			$cookie_expire = time()+60*60*24*30;
-//			// Set the cookie
-//			if(setcookie($cookie_name, $cookie_value, $cookie_expire, '/')) {
-//				return true;
-//			} else {
-//				return false;
-//			}
-//		}
 	}
-	
-	// Function to check if a user has been remembered
+
+	// Function to check if a user has been remembered - removed
 	function is_remembered()
 	{
 		return false;
-//		global $database;
-//		// add if get_safe_remember_key not empty
-//		if(isset($_COOKIE['REMEMBER_KEY']) && ($_COOKIE['REMEMBER_KEY'] != '') && ($this->get_safe_remember_key() <> '' ) )
-//		{
-//			// Check if the remember key is correct
-//			// $database = new database();
-//			$sql = "SELECT `user_id` FROM `" . $this->users_table . "` WHERE `remember_key` = '";
-//			$sql .= $this->get_safe_remember_key() . "' LIMIT 1";
-//			$check_query = $database->query($sql);
-//
-//			if($check_query->numRows() > 0)
-//			{
-//				$check_fetch = $check_query->fetchRow();
-//				$user_id = $check_fetch['user_id'];
-//				// Check the remember key prefix
-//				$remember_key_prefix = '';
-//				$length = 11-strlen($user_id);
-//				if($length > 0)
-//				{
-//					for($i = 1; $i <= $length; $i++)
-//					{
-//						$remember_key_prefix .= '0';
-//					}
-//				}
-//				$remember_key_prefix .= $user_id.'_';
-//				$length = strlen($remember_key_prefix);
-//				if(substr($_COOKIE['REMEMBER_KEY'], 0, $length) == $remember_key_prefix)
-//				{
-//					return true;
-//				} else {
-//					return false;
-//				}
-//			} else {
-//				return false;
-//			}
-//		} else {
-//			return false;
-//		}
 	}
 
 	// Display the login screen
 	function display_login() {
 		// Get language vars
-		global $MESSAGE;
-		global $MENU;
-		global $TEXT;
+		global $MESSAGE, $MENU, $TEXT;
 		// If attemps more than allowed, warn the user
 		if($this->get_session('ATTEMPS') > $this->max_attemps) {
 			$this->warn();
@@ -338,7 +263,7 @@
 		}
 		// Show the login form
 		if($this->frontend != true) {
-			require_once(WB_PATH.'/include/phplib/template.inc');
+			//require_once(WB_PATH.'/include/phplib/template.inc');
 			// $template = new Template($this->template_dir);
 			// Setup template object, parse vars to it, then parse it
 			$template = new Template(dirname($this->correct_theme_source($this->template_file)));
@@ -356,12 +281,17 @@
 				'USERNAME_FIELDNAME' => $this->username_fieldname,
 				'PASSWORD_FIELDNAME' => $this->password_fieldname,
 				'MESSAGE' => $this->message,
+				'WEBSITE_TITLE' => WEBSITE_TITLE,
+				'TEXT_ADMINISTRATION' => $TEXT['ADMINISTRATION'],
 				'INTERFACE_DIR_URL' =>  ADMIN_URL.'/interface',
 				'MAX_USERNAME_LEN' => $this->max_username_len,
 				'MAX_PASSWORD_LEN' => $this->max_password_len,
+				'ADMIN_URL' => ADMIN_URL,
 				'WB_URL' => WB_URL,
+				'URL_VIEW' => WB_URL,
 				'THEME_URL' => THEME_URL,
 				'VERSION' => VERSION,
+				'SP' => (defined('SP') ? SP : ''),
 				'REVISION' => REVISION,
 				'LANGUAGE' => strtolower(LANGUAGE),
 				'FORGOTTEN_DETAILS_APP' => $this->forgotten_details_app,
@@ -370,9 +300,19 @@
 				'TEXT_PASSWORD' => $TEXT['PASSWORD'],
 				'TEXT_REMEMBER_ME' => $TEXT['REMEMBER_ME'],
 				'TEXT_LOGIN' => $TEXT['LOGIN'],
+				'TITLE_LOGOUT' => $MENU['LOGIN'],
+				'TEXT_RESET' => $TEXT['RESET'],
 				'TEXT_HOME' => $TEXT['HOME'],
+				'TITLE_VIEW' => $TEXT['WEBSITE'],
 				'PAGES_DIRECTORY' => PAGES_DIRECTORY,
-				'SECTION_LOGIN' => $MENU['LOGIN']
+				'SECTION_NAME' => $MENU['LOGIN'],
+				'SECTION_LOGIN' => $MENU['LOGIN'],
+				'LOGIN_DISPLAY_HIDDEN' => !$this->is_authenticated() ? 'hidden' : '',
+				'LOGIN_DISPLAY_NONE' => !$this->is_authenticated() ? 'none' : '',
+				'LOGIN_LINK' => $_SERVER['SCRIPT_NAME'],
+				'LOGIN_ICON' => 'login',
+				'START_ICON' => 'blank',
+				'URL_HELP' => 'http://www.websitebaker.org/',
 				)
 			);
 			if(defined('DEFAULT_CHARSET')) {
@@ -380,9 +320,9 @@
 			} else {
 				$charset='utf-8';
 			}
-			
-			$template->set_var('CHARSET', $charset);	
 
+			$template->set_var('CHARSET', $charset);
+
 			$template->parse('main', 'mainBlock', false);
 			$template->pparse('output', 'page');
 		}
@@ -395,13 +335,12 @@
 		$clean_cookie = sprintf('%011d', (int) substr($_COOKIE['REMEMBER_KEY'], 0, 11)) . substr($_COOKIE['REMEMBER_KEY'], 11);
 		return ($clean_cookie == $_COOKIE['REMEMBER_KEY']) ? $this->add_slashes($clean_cookie) : '';
 	}
-	
+
 	// Warn user that they have had to many login attemps
 	function warn() {
-		header('Location: '.$this->warning_url);
+//		header('Location: '.$this->warning_url);
+		$this->send_header($this->warning_url);
 		exit(0);
 	}
-	
+
 }
-
-?>
\ No newline at end of file
