Index: branches/2.8.x/CHANGELOG
===================================================================
--- branches/2.8.x/CHANGELOG	(revision 1776)
+++ branches/2.8.x/CHANGELOG	(revision 1777)
@@ -13,6 +13,12 @@
 
 
 
+01 Oct-2012 Build 1777 Dietmar Woellbrink (Luisehahne)
++ add methode StripCodeFromText in class.wb to clean injection
+! rebranding the admin/settings and security fixes
+! a few new styling in backend wb_theme
+! beginning aa lot of account changes like correction of $_SESSION indexe, security fixes
++ add head.load.min.js and head.min.js to /include/jquery/ to style HTML5 templates
 28 Sep-2012 Build 1776 Dietmar Woellbrink (Luisehahne)
 ! wb theme styling
 28 Sep-2012 Build 1775 Dietmar Woellbrink (Luisehahne)
Index: branches/2.8.x/wb/include/jquery/head.min.js
===================================================================
--- branches/2.8.x/wb/include/jquery/head.min.js	(nonexistent)
+++ branches/2.8.x/wb/include/jquery/head.min.js	(revision 1777)
@@ -0,0 +1,8 @@
+/**
+    Head JS     The only script in your <HEAD>
+    Copyright   Tero Piirainen (tipiirai)
+    License     MIT / http://bit.ly/mit-license
+    Version     0.96
+
+    http://headjs.com
+*/(function(a){function l(){var a=window.outerWidth||b.clientWidth;b.className=b.className.replace(/ (w|lt)-\d+/g,""),f("w-"+Math.round(a/100)*100),h(c.screens,function(b){a<=b&&f("lt-"+b)}),i.feature()}function h(a,b){for(var c=0,d=a.length;c<d;c++)b.call(a,a[c],c)}function g(a){var c=new RegExp("\\b"+a+"\\b");b.className=b.className.replace(c,"")}function f(a){d[d.length]=a}var b=a.documentElement,c={screens:[320,480,640,768,1024,1280,1440,1680,1920],section:"-section",page:"-page",head:"head"},d=[];if(window.head_conf)for(var e in head_conf)head_conf[e]!==undefined&&(c[e]=head_conf[e]);var i=window[c.head]=function(){i.ready.apply(null,arguments)};i.feature=function(a,c,e){if(!a)b.className+=" "+d.join(" "),d=[];else{Object.prototype.toString.call(c)=="[object Function]"&&(c=c.call()),f((c?"":"no-")+a),i[a]=!!c,e||(g("no-"+a),g(a),i.feature());return i}};var j=navigator.userAgent.toLowerCase();j=/(webkit)[ \/]([\w.]+)/.exec(j)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(j)||/(msie) ([\w.]+)/.exec(j)||!/compatible/.test(j)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(j)||[],j[1]=="msie"&&(j[1]="ie",j[2]=document.documentMode||j[2]),f(j[1]),i.browser={version:j[2]},i.browser[j[1]]=!0;if(i.browser.ie){f("ie"+parseFloat(j[2]));for(var k=3;k<11;k++)parseFloat(j[2])<k&&f("lt-ie"+k);h("abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video".split("|"),function(b){a.createElement(b)})}h(location.pathname.split("/"),function(a,d){if(this.length>2&&this[d+1]!==undefined)d&&f(this.slice(1,d+1).join("-")+c.section);else{var e=a||"index",g=e.indexOf(".");g>0&&(e=e.substring(0,g)),b.id=e+c.page,d||f("root"+c.section)}}),l(),window.onresize=l,i.feature("js",!0).feature()})(document),function(){function h(a){var b=a.charAt(0).toUpperCase()+a.substr(1),c=(a+" "+d.join(b+" ")+b).split(" ");return!!g(c)}function g(a){for(var c in a)if(b[a[c]]!==undefined)return!0}var a=document.createElement("i"),b=a.style,c=" -o- -moz- -ms- -webkit- -khtml- ".split(" "),d="Webkit Moz O ms Khtml".split(" "),e=window.head_conf&&head_conf.head||"head",f=window[e],i={gradient:function(){var a="background-image:",d="gradient(linear,left top,right bottom,from(#9f9),to(#fff));",e="linear-gradient(left top,#eee,#fff);";b.cssText=(a+c.join(d+a)+c.join(e+a)).slice(0,-a.length);return!!b.backgroundImage},rgba:function(){b.cssText="background-color:rgba(0,0,0,0.5)";return!!b.backgroundColor},opacity:function(){return a.style.opacity===""},textshadow:function(){return b.textShadow===""},multiplebgs:function(){b.cssText="background:url(//:),url(//:),red url(//:)";return(new RegExp("(url\\s*\\(.*?){3}")).test(b.background)},boxshadow:function(){return h("boxShadow")},borderimage:function(){return h("borderImage")},borderradius:function(){return h("borderRadius")},cssreflections:function(){return h("boxReflect")},csstransforms:function(){return h("transform")},csstransitions:function(){return h("transition")},fontface:function(){var a=navigator.userAgent,b;if(0)return!0;if(b=a.match(/Chrome\/(\d+\.\d+\.\d+\.\d+)/))return b[1]>="4.0.249.4"||1*b[1].split(".")[0]>5;if((b=a.match(/Safari\/(\d+\.\d+)/))&&!/iPhone/.test(a))return b[1]>="525.13";if(/Opera/.test({}.toString.call(window.opera)))return opera.version()>="10.00";if(b=a.match(/rv:(\d+\.\d+\.\d+)[^b].*Gecko\//))return b[1]>="1.9.1";return!1}};for(var j in i)i[j]&&f.feature(j,i[j].call(),!0);f.feature()}(),function(a){function z(){d||(d=!0,s(e,function(a){p(a)}))}function y(c,d){var e=a.createElement("script");e.type="text/"+(c.type||"javascript"),e.src=c.src||c,e.async=!1,e.onreadystatechange=e.onload=function(){var a=e.readyState;!d.done&&(!a||/loaded|complete/.test(a))&&(d.done=!0,d())},(a.body||b).appendChild(e)}function x(a,b){if(a.state==o)return b&&b();if(a.state==n)return k.ready(a.name,b);if(a.state==m)return a.onpreload.push(function(){x(a,b)});a.state=n,y(a.url,function(){a.state=o,b&&b(),s(g[a.name],function(a){p(a)}),u()&&d&&s(g.ALL,function(a){p(a)})})}function w(a,b){a.state===undefined&&(a.state=m,a.onpreload=[],y({src:a.url,type:"cache"},function(){v(a)}))}function v(a){a.state=l,s(a.onpreload,function(a){a.call()})}function u(a){a=a||h;var b;for(var c in a){if(a.hasOwnProperty(c)&&a[c].state!=o)return!1;b=!0}return b}function t(a){return Object.prototype.toString.call(a)=="[object Function]"}function s(a,b){if(!!a){typeof a=="object"&&(a=[].slice.call(a));for(var c=0;c<a.length;c++)b.call(a,a[c],c)}}function r(a){var b;if(typeof a=="object")for(var c in a)a[c]&&(b={name:c,url:a[c]});else b={name:q(a),url:a};var d=h[b.name];if(d&&d.url===b.url)return d;h[b.name]=b;return b}function q(a){var b=a.split("/"),c=b[b.length-1],d=c.indexOf("?");return d!=-1?c.substring(0,d):c}function p(a){a._done||(a(),a._done=1)}var b=a.documentElement,c,d,e=[],f=[],g={},h={},i=a.createElement("script").async===!0||"MozAppearance"in a.documentElement.style||window.opera,j=window.head_conf&&head_conf.head||"head",k=window[j]=window[j]||function(){k.ready.apply(null,arguments)},l=1,m=2,n=3,o=4;i?k.js=function(){var a=arguments,b=a[a.length-1],c={};t(b)||(b=null),s(a,function(d,e){d!=b&&(d=r(d),c[d.name]=d,x(d,b&&e==a.length-2?function(){u(c)&&p(b)}:null))});return k}:k.js=function(){var a=arguments,b=[].slice.call(a,1),d=b[0];if(!c){f.push(function(){k.js.apply(null,a)});return k}d?(s(b,function(a){t(a)||w(r(a))}),x(r(a[0]),t(d)?d:function(){k.js.apply(null,b)})):x(r(a[0]));return k},k.ready=function(b,c){if(b==a){d?p(c):e.push(c);return k}t(b)&&(c=b,b="ALL");if(typeof b!="string"||!t(c))return k;var f=h[b];if(f&&f.state==o||b=="ALL"&&u()&&d){p(c);return k}var i=g[b];i?i.push(c):i=g[b]=[c];return k},k.ready(a,function(){u()&&s(g.ALL,function(a){p(a)}),k.feature&&k.feature("domloaded",!0)});if(window.addEventListener)a.addEventListener("DOMContentLoaded",z,!1),window.addEventListener("load",z,!1);else if(window.attachEvent){a.attachEvent("onreadystatechange",function(){a.readyState==="complete"&&z()});var A=1;try{A=window.frameElement}catch(B){}!A&&b.doScroll&&function(){try{b.doScroll("left"),z()}catch(a){setTimeout(arguments.callee,1);return}}(),window.attachEvent("onload",z)}!a.readyState&&a.addEventListener&&(a.readyState="loading",a.addEventListener("DOMContentLoaded",handler=function(){a.removeEventListener("DOMContentLoaded",handler,!1),a.readyState="complete"},!1)),setTimeout(function(){c=!0,s(f,function(a){a()})},300)}(document)
\ No newline at end of file

Property changes on: branches/2.8.x/wb/include/jquery/head.min.js
___________________________________________________________________
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/include/jquery/head.load.min.js
===================================================================
--- branches/2.8.x/wb/include/jquery/head.load.min.js	(nonexistent)
+++ branches/2.8.x/wb/include/jquery/head.load.min.js	(revision 1777)
@@ -0,0 +1,8 @@
+/**
+    Head JS     The only script in your <HEAD>
+    Copyright   Tero Piirainen (tipiirai)
+    License     MIT / http://bit.ly/mit-license
+    Version     0.96
+
+    http://headjs.com
+*/(function(a){function z(){d||(d=!0,s(e,function(a){p(a)}))}function y(c,d){var e=a.createElement("script");e.type="text/"+(c.type||"javascript"),e.src=c.src||c,e.async=!1,e.onreadystatechange=e.onload=function(){var a=e.readyState;!d.done&&(!a||/loaded|complete/.test(a))&&(d.done=!0,d())},(a.body||b).appendChild(e)}function x(a,b){if(a.state==o)return b&&b();if(a.state==n)return k.ready(a.name,b);if(a.state==m)return a.onpreload.push(function(){x(a,b)});a.state=n,y(a.url,function(){a.state=o,b&&b(),s(g[a.name],function(a){p(a)}),u()&&d&&s(g.ALL,function(a){p(a)})})}function w(a,b){a.state===undefined&&(a.state=m,a.onpreload=[],y({src:a.url,type:"cache"},function(){v(a)}))}function v(a){a.state=l,s(a.onpreload,function(a){a.call()})}function u(a){a=a||h;var b;for(var c in a){if(a.hasOwnProperty(c)&&a[c].state!=o)return!1;b=!0}return b}function t(a){return Object.prototype.toString.call(a)=="[object Function]"}function s(a,b){if(!!a){typeof a=="object"&&(a=[].slice.call(a));for(var c=0;c<a.length;c++)b.call(a,a[c],c)}}function r(a){var b;if(typeof a=="object")for(var c in a)a[c]&&(b={name:c,url:a[c]});else b={name:q(a),url:a};var d=h[b.name];if(d&&d.url===b.url)return d;h[b.name]=b;return b}function q(a){var b=a.split("/"),c=b[b.length-1],d=c.indexOf("?");return d!=-1?c.substring(0,d):c}function p(a){a._done||(a(),a._done=1)}var b=a.documentElement,c,d,e=[],f=[],g={},h={},i=a.createElement("script").async===!0||"MozAppearance"in a.documentElement.style||window.opera,j=window.head_conf&&head_conf.head||"head",k=window[j]=window[j]||function(){k.ready.apply(null,arguments)},l=1,m=2,n=3,o=4;i?k.js=function(){var a=arguments,b=a[a.length-1],c={};t(b)||(b=null),s(a,function(d,e){d!=b&&(d=r(d),c[d.name]=d,x(d,b&&e==a.length-2?function(){u(c)&&p(b)}:null))});return k}:k.js=function(){var a=arguments,b=[].slice.call(a,1),d=b[0];if(!c){f.push(function(){k.js.apply(null,a)});return k}d?(s(b,function(a){t(a)||w(r(a))}),x(r(a[0]),t(d)?d:function(){k.js.apply(null,b)})):x(r(a[0]));return k},k.ready=function(b,c){if(b==a){d?p(c):e.push(c);return k}t(b)&&(c=b,b="ALL");if(typeof b!="string"||!t(c))return k;var f=h[b];if(f&&f.state==o||b=="ALL"&&u()&&d){p(c);return k}var i=g[b];i?i.push(c):i=g[b]=[c];return k},k.ready(a,function(){u()&&s(g.ALL,function(a){p(a)}),k.feature&&k.feature("domloaded",!0)});if(window.addEventListener)a.addEventListener("DOMContentLoaded",z,!1),window.addEventListener("load",z,!1);else if(window.attachEvent){a.attachEvent("onreadystatechange",function(){a.readyState==="complete"&&z()});var A=1;try{A=window.frameElement}catch(B){}!A&&b.doScroll&&function(){try{b.doScroll("left"),z()}catch(a){setTimeout(arguments.callee,1);return}}(),window.attachEvent("onload",z)}!a.readyState&&a.addEventListener&&(a.readyState="loading",a.addEventListener("DOMContentLoaded",handler=function(){a.removeEventListener("DOMContentLoaded",handler,!1),a.readyState="complete"},!1)),setTimeout(function(){c=!0,s(f,function(a){a()})},300)})(document)
\ No newline at end of file

Property changes on: branches/2.8.x/wb/include/jquery/head.load.min.js
___________________________________________________________________
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/start/index.php
===================================================================
--- branches/2.8.x/wb/admin/start/index.php	(revision 1776)
+++ branches/2.8.x/wb/admin/start/index.php	(revision 1777)
@@ -128,6 +128,7 @@
 					'WELCOME_MESSAGE' => $MESSAGE['START_WELCOME_MESSAGE'],
 					'CURRENT_USER' => $MESSAGE['START_CURRENT_USER'],
 					'DISPLAY_NAME' => $admin->get_display_name(),
+                    'DISPLAY_WARNING' => '',
 					'ADMIN_URL' => ADMIN_URL,
 					'WB_URL' => WB_URL,
 					'THEME_URL' => THEME_URL,
Index: branches/2.8.x/wb/admin/skel/themes/htt/message.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/message.htt	(revision 1776)
+++ branches/2.8.x/wb/admin/skel/themes/htt/message.htt	(revision 1777)
@@ -1,5 +1,5 @@
 <!-- BEGIN main_block -->
-<div id="{ID}" class="mbox curved mbox-icon16{BOX_STATUS} warning rounded" style="background-image: url({THEME_URL}/icons/{STATUS}_16.png)">
+<div id="{ID}" class="mbox mbox-icon16{BOX_STATUS} warning rounded " style="background-image: url({THEME_URL}/icons/{STATUS}_16.png)">
 	<div><!-- class="big"> -->
 		{MESSAGE}
 	</div>
Index: branches/2.8.x/wb/admin/skel/themes/htt/settings.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/settings.htt	(revision 1776)
+++ branches/2.8.x/wb/admin/skel/themes/htt/settings.htt	(revision 1777)
@@ -5,18 +5,14 @@
 <input type="hidden" name="wbmailer_smtp_auth" value="true"  />
 {FTAN}
 
-	<fieldset>
+	<fieldset class="tab-generell">
+		<legend>{HEADING_GENERAL_SETTINGS}</legend>
 		<div class="mbox sub-row">
 			<label class="setting_name">&nbsp;</label>
-			<div style="margin-top: 5px;">
+			<div style="margin-top: 2px;">
 				<button title="{MODE_SWITCH_WARNING}" onclick="window.location = '{ADVANCED_LINK}'; return false;" class="cright {DISPLAY_ADVANCED_BUTTON}">{ADVANCED_BUTTON}</button>
 			</div>
-		</div>
-		<br />
-	</fieldset>
-
-	<fieldset class="tab-generell">
-		<legend>{HEADING_GENERAL_SETTINGS}</legend>
+		</div><br />
 		<div class="mbox sub-row">
 			<label class="setting_name">{TEXT_WEBSITE_TITLE}:</label>
 			<input type="text" class="vert" name="website_title" value="{WEBSITE_TITLE}" />
@@ -46,6 +42,7 @@
 			<textarea class="vert" name="website_signature" cols="50" rows="4">{WEBSITE_SIGNATURE}</textarea>
 		</div>
 	</fieldset>
+
 	<fieldset>
 <!-- BEGIN show_page_level_limit_block -->
 		<div class="mbox sub-row">
@@ -56,8 +53,8 @@
 		<!-- END page_level_limit_list_block -->
 		</select>
 		</div>
+<!-- END show_page_level_limit_block -->
 
-<!-- END show_page_level_limit_block -->
 		<div class="mbox sub-row">
 			<label class="setting_name">{TEXT_PAGE_TRASH}:</label>
 			<span>
@@ -81,6 +78,7 @@
                 <label for="page_languages_false">{TEXT_DISABLED}</label>
 			</span>
 		</div>
+
 		<div class="mbox sub-row">
 	 		<label class="setting_name">{TEXT_PAGE_EXTENDED}:</label>
 			<span>
@@ -117,8 +115,8 @@
 		<label for="home_folders_false">{TEXT_DISABLED}</label>
 			</span>
 		</div>
+
 <!-- BEGIN show_checkbox_2_block -->
-
 		<div class="mbox sub-row">
 		<label class="setting_name">{TEXT_MANAGE_SECTIONS}:</label>
 			<span>
@@ -142,8 +140,8 @@
 		<label for="section_blocks_false">{TEXT_DISABLED}</label>
 			</span>
 		</div>
+<!-- END show_checkbox_2_block -->
 
-<!-- END show_checkbox_2_block -->
 		<div class="mbox sub-row">
 			<label class="setting_name">{TEXT_INTRO_PAGE}:</label>
 			<span>
@@ -155,8 +153,8 @@
 		<label for="intro_page_false">{TEXT_DISABLED}</label>
 			</span>
 		</div>
+
 <!-- BEGIN show_checkbox_3_block -->
-
 		<div class="mbox sub-row">
 			<label class="setting_name">{TEXT_HOMEPAGE_REDIRECTION}:</label>
 			<span>
@@ -180,8 +178,8 @@
 		<label for="smart_login_false">{TEXT_DISABLED}</label>
 			</span>
 		</div>
+<!-- END show_checkbox_3_block -->
 
-<!-- END show_checkbox_3_block -->
 		<div class="mbox sub-row">
 			<label class="setting_name">{TEXT_LOGIN}:</label>
 			<span>
@@ -231,9 +229,9 @@
 			<label class="setting_name">{TEXT_PHP_ERROR_LEVEL}:</label>
 		<select name="er_level">
 			<option value="">{TEXT_PLEASE_SELECT}...</option>
-			<!-- BEGIN error_reporting_list_block -->
+			<!-- BEGIN php_error_list_block -->
 				<option value="{VALUE}"{SELECTED}>{NAME}</option>
-			<!-- END error_reporting_list_block -->
+			<!-- END php_error_list_block -->
 		</select>
 		</div>
 <!-- END show_php_error_level_block -->
@@ -255,6 +253,7 @@
 			</div>
 		</div>
 <!-- END show_wysiwyg_block -->
+
 		<div class="mbox sub-row">
 			<label class="setting_name">&nbsp;</label>
 			<div style="margin-top: 5px;">
@@ -291,8 +290,8 @@
 		</select>
 			</div>
 		</div>
+<!-- END show_charset_block -->
 
-<!-- END show_charset_block -->
 		<div class="mbox sub-row">
 	 		<label class="setting_name">{TEXT_TIMEZONE}:</label>
 			<div class="input" >
@@ -385,8 +384,8 @@
 		</select>
 			</div>
 		</div>
+
 <!-- BEGIN show_search_block -->
-
 		<div class="mbox sub-row">
 	 		<label class="setting_name">{TEXT_HEADER}:</label>
 			<div class="input" >
@@ -449,6 +448,7 @@
 			</div>
 		</div>
 <!-- END show_search_block -->
+
 		<div class="mbox sub-row">
 			<label class="setting_name">&nbsp;</label>
 			<div style="margin-top: 5px;">
@@ -475,19 +475,6 @@
 			</span>
 		</div>
 
-		<div class="mbox sub-row">
-	 		<label class="setting_name none" id="{BASIC_FILE_PERMS_ID}1">&nbsp;</label>
-			<div class="input none" >
-		<div id="{BASIC_FILE_PERMS_ID}2" style="margin: 0; padding: 0;">
-				<input type="checkbox" name="world_writeable" id="world_writeable" value="true"{WORLD_WRITEABLE_SELECTED} />
-			<label for="world_writeable">
-				{TEXT_WORLD_WRITEABLE_FILE_PERMISSIONS} (777)
-			</label>
-			<span class="warning">({WORLD_WRITEABLE_WARNING})</span>
-		</div>
-		<div id="{BASIC_FILE_PERMS_ID}3" style="margin: 0; padding: 0;"></div>
-			</div>
-		</div>
 		<br class="clear none" />
 		<div class="mbox sub-row">
 	 		<label class="setting_name" id="{ADVANCED_FILE_PERMS_ID}1">{TEXT_FILESYSTEM_PERMISSIONS}:</label>
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 1776)
+++ branches/2.8.x/wb/admin/skel/themes/htt/users_form.htt	(revision 1777)
@@ -17,7 +17,7 @@
 <table>
 <!-- BEGIN show_modify_loginname_block -->
 <tr>
-	<td>{TEXT_USERNAME}:</td>
+	<td class="right">{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" />
@@ -26,7 +26,7 @@
 <!-- END show_modify_loginname_block -->
 <!-- BEGIN show_add_loginname_block -->
 <tr>
-	<td>{TEXT_USERNAME}:</td>
+	<td class="right">{TEXT_USERNAME}:</td>
 	<td class="value_input">
 		<input type="text" name="{USERNAME_FIELDNAME}" maxlength="30" value="{USERNAME}" />
 	</td>
@@ -33,37 +33,37 @@
 </tr>
 <!-- END show_add_loginname_block -->
 <tr>
-	<td>{TEXT_PASSWORD}:</td>
+	<td class="right">{TEXT_PASSWORD}:</td>
 	<td class="value_input">
 		<input type="password" name="password" maxlength="30" />
 	</td>
 </tr>
 <tr>
-	<td>{TEXT_RETYPE_PASSWORD}:</td>
+	<td class="right">{TEXT_RETYPE_PASSWORD}:</td>
 	<td class="value_input">
 		<input type="password" name="password2" maxlength="30" />
 	</td>
 </tr>
 <tr style="{DISPLAY_EXTRA}">
-	<td>&nbsp;</td>
+	<td class="right">&nbsp;</td>
 	<td style="font-size: 10px;">
 		{CHANGING_PASSWORD}
 	</td>
 </tr>
 <tr>
-	<td>{TEXT_DISPLAY_NAME}:</td>
+	<td class="right">{TEXT_DISPLAY_NAME}:</td>
 	<td class="value_input">
 		<input type="text" name="display_name" maxlength="255" value="{DISPLAY_NAME}" />
 	</td>
 </tr>
 <tr>
-	<td>{TEXT_EMAIL}:</td>
+	<td class="right">{TEXT_EMAIL}:</td>
 	<td class="value_input">
 		<input type="text" name="email" maxlength="255" value="{EMAIL}" />
 	</td>
 </tr>
 <tr style="{DISPLAY_HOME_FOLDERS}">
-	<td>{TEXT_HOME_FOLDER}:</td>
+	<td class="right">{TEXT_HOME_FOLDER}:</td>
 	<td class="value_input">
 		<select name="home_folder">
 			<option value="">{TEXT_NONE}</option>
@@ -74,7 +74,7 @@
 	</td>
 </tr>
 <tr>
-	<td>{TEXT_GROUP}:</td>
+	<td class="rightTop">{TEXT_GROUP}:</td>
 	<td class="value_input">
 		<select name="groups[]" multiple="multiple" size="5">
 		<!-- BEGIN group_list_block -->
@@ -84,7 +84,7 @@
 	</td>
 </tr>
 <tr>
-	<td>&nbsp;</td>
+	<td class="right">&nbsp;</td>
 	<td>
 		<input type="radio" name="active[]" id="active" value="1" {ACTIVE_CHECKED} />
 		<label for="active">{TEXT_ACTIVE}</label>
Index: branches/2.8.x/wb/admin/skel/themes/htt/start.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/start.htt	(revision 1776)
+++ branches/2.8.x/wb/admin/skel/themes/htt/start.htt	(revision 1777)
@@ -2,7 +2,7 @@
 	<div class="content_box">
 	    <h4 class="center">{WELCOME_MESSAGE}. {CURRENT_USER} {DISPLAY_NAME}</h4>
  	<!-- BEGIN show_install_block -->
-         <h4 style="{DISPLAY_WARNING}" class="warning center">{WARNING}</h4>
+         <h4 style="{DISPLAY_WARNING}" class="warning center rounded">{WARNING}</h4>
 	<!-- END show_install_block -->
 	</div>
 	<div class="content_box">
Index: branches/2.8.x/wb/admin/skel/themes/htt/preferences.htt
===================================================================
--- branches/2.8.x/wb/admin/skel/themes/htt/preferences.htt	(revision 1776)
+++ branches/2.8.x/wb/admin/skel/themes/htt/preferences.htt	(revision 1777)
@@ -1,71 +1,74 @@
 <!-- BEGIN main_block -->
 <form name="{FORM_NAME}" class="settings_table" action="{ACTION_URL}" method="post">
 		{FTAN}
-	<fieldset style="margin-bottom: 0; padding-bottom: 0;">
+	<fieldset>
 		<legend>{HEADING_MY_SETTINGS}</legend>
-		<div class="sub-row">
-			<label class="setting_name rBold">{TEXT_USERNAME}:</label>
-			<input class="button" type="button" value="{USERNAME}" disabled="disabled" readonly="readonly" />
-		</div>
+<div>
+<div class="sub-row">
+<label class="setting_name rBold">{TEXT_USERNAME}:</label>
+<input class="button" type="button" value="{USERNAME}" disabled="disabled" readonly="readonly" />
+</div>
 
-		<div class="sub-row">
-			<label class="setting_name rBold">{TEXT_DISPLAY_NAME}:</label>
-			<input type="text" id="display_name" name="display_name" value="{DISPLAY_NAME}" />
-		</div>
+<div class="sub-row">
+<label class="setting_name rBold">{TEXT_DISPLAY_NAME}:</label>
+<input type="text" id="display_name" name="display_name" value="{DISPLAY_NAME}" />
+</div>
 
-		<div class="sub-row">
-			<label class="setting_name rBold">{TEXT_LANGUAGE}:</label>
-			<select name="language" id="language">
-				<!-- BEGIN language_list_block -->
-					<option value="{CODE}"{SELECTED} style="background: url({FLAG}.png) no-repeat center left; padding-left: 20px;">{NAME} ({CODE})</option>
-				<!-- END language_list_block -->
-			</select>
-		</div>
-		<div class="sub-row">
-			<label class="setting_name rBold">{TEXT_TIMEZONE}:</label>
-			<select name="timezone" id="timezone">
-				<!-- BEGIN timezone_list_block -->
-					<option value="{VALUE}"{SELECTED}>{NAME}</option>
-				<!-- END timezone_list_block -->
-			</select>
-		</div>
-		<div class="sub-row">
-			<label class="setting_name rBold">{TEXT_DATE_FORMAT}:</label>
-			<select name="date_format" id="date_format">
-				<!-- BEGIN date_format_list_block -->
-					<option value="{VALUE}"{SELECTED}>{NAME}</option>
-				<!-- END date_format_list_block -->
-			</select>
-		</div>
-		<div class="sub-row">
-			<label class="setting_name rBold">{TEXT_TIME_FORMAT}:</label>
-					<select name="time_format" id="time_format">
-						<!-- BEGIN time_format_list_block -->
-							<option value="{VALUE}"{SELECTED}>{NAME}</option>
-						<!-- END time_format_list_block -->
-					</select>
-				</div>
-		<div class="sub-row">
-			<label class="setting_name rBold">{TEXT_EMAIL}:</label>
-			<input type="text" id="email" name="email" value="{EMAIL}" />
-			</div>
-		<div class="sub-row">
-			<label class="setting_name rBold">{TEXT_NEW_PASSWORD}:</label>
-			<input type="password" id="new_password_1" name="new_password_1" value="{EMPTY_STRING}" />
-				</div>
-		<div class="sub-row">
-			<label class="setting_name rBold">{TEXT_RETYPE_NEW_PASSWORD}:</label>
-			<input type="password" id="new_password_2" name="new_password_2" value="{EMPTY_STRING}" />
-				</div>
-			<hr />
-		<div class="sub-row">
-			<label class="setting_name rBold">{TEXT_NEED_CURRENT_PASSWORD}:</label>
-			<input type="password" id="current_password" name="current_password" value="{EMPTY_STRING}" />
-				</div>
-		<div class="sub-row">
-					<input type="submit" id="submit" name="submit" value="{TEXT_SAVE}" />
-					<input type="reset" id="reset" name="reset" value="{TEXT_RESET}" />
-				</div>
+<div class="sub-row">
+<label class="setting_name rBold">{TEXT_LANGUAGE}:</label>
+<select name="language" id="language">
+<!-- BEGIN language_list_block -->
+<option value="{CODE}"{SELECTED} style="background: url({FLAG}.png) no-repeat center left; padding-left: 20px;">{NAME} ({CODE})</option>
+<!-- END language_list_block -->
+</select>
+</div>
+<div class="sub-row">
+<label class="setting_name rBold">{TEXT_TIMEZONE}:</label>
+<select name="timezone" id="timezone">
+<!-- BEGIN timezone_list_block -->
+<option value="{VALUE}"{SELECTED}>{NAME}</option>
+<!-- END timezone_list_block -->
+</select>
+</div>
+<div class="sub-row">
+<label class="setting_name rBold">{TEXT_DATE_FORMAT}:</label>
+<select name="date_format" id="date_format">
+<!-- BEGIN date_format_list_block -->
+<option value="{VALUE}"{SELECTED}>{NAME}</option>
+<!-- END date_format_list_block -->
+</select>
+</div>
+<div class="sub-row">
+<label class="setting_name rBold">{TEXT_TIME_FORMAT}:</label>
+<select name="time_format" id="time_format">
+<!-- BEGIN time_format_list_block -->
+	<option value="{VALUE}"{SELECTED}>{NAME}</option>
+<!-- END time_format_list_block -->
+</select>
+</div>
+<div class="sub-row">
+<label class="setting_name rBold">{TEXT_EMAIL}:</label>
+<input type="text" id="email" name="email" value="{EMAIL}" />
+</div>
+<div class="sub-row">
+<label class="setting_name rBold">{TEXT_NEW_PASSWORD}:</label>
+<input type="password" id="new_password_1" name="new_password_1" value="{EMPTY_STRING}" />
+</div>
+<div class="sub-row">
+<label class="setting_name rBold">{TEXT_RETYPE_NEW_PASSWORD}:</label>
+<input type="password" id="new_password_2" name="new_password_2" value="{EMPTY_STRING}" />
+</div>
+<hr />
+<div class="sub-row">
+<label class="setting_name rBold">{TEXT_NEED_CURRENT_PASSWORD}:</label>
+<input type="password" id="current_password" name="current_password" value="{EMPTY_STRING}" />
+</div>
+
+<div class="sub-row">
+<input type="submit" id="submit" name="submit" value="{TEXT_SAVE}" />
+<input type="reset" id="reset" name="reset" value="{TEXT_RESET}" />
+</div>
+</div>
 	</fieldset>
 </form>
 <!-- END main_block -->
Index: branches/2.8.x/wb/admin/interface/version.php
===================================================================
--- branches/2.8.x/wb/admin/interface/version.php	(revision 1776)
+++ branches/2.8.x/wb/admin/interface/version.php	(revision 1777)
@@ -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', '1776');
+if(!defined('REVISION')) define('REVISION', '1777');
 if(!defined('SP')) define('SP', '');
Index: branches/2.8.x/wb/admin/settings/save.php
===================================================================
--- branches/2.8.x/wb/admin/settings/save.php	(revision 1776)
+++ branches/2.8.x/wb/admin/settings/save.php	(revision 1777)
@@ -58,11 +58,15 @@
 	}
 }
 
-if(isset($_POST['wbmailer_routine']) && ($_POST['wbmailer_routine']=='smtp')) {
+if($admin->StripCodeFromText($admin->get_post('wbmailer_routine'))=='smtp') {
 
-	$checkSmtpHost = (isset($_POST['wbmailer_smtp_host']) && ($_POST['wbmailer_smtp_host']=='') ? false : true);
-	$checkSmtpUser = (isset($_POST['wbmailer_smtp_username']) && ($_POST['wbmailer_smtp_username']=='') ? false : true);
-	$checkSmtpPassword = (isset($_POST['wbmailer_smtp_password']) && ($_POST['wbmailer_smtp_password']=='') ? false : true);
+	$checkSmtpHost = (($admin->StripCodeFromText($admin->get_post('wbmailer_smtp_host'))=='') ? false : true);
+//	$checkSmtpHost = (isset($_POST['wbmailer_smtp_host']) && ($_POST['wbmailer_smtp_host']=='') ? false : true);
+	$checkSmtpUser = (($admin->StripCodeFromText($admin->get_post('wbmailer_smtp_username'))=='') ? false : true);
+//	$checkSmtpUser = (isset($_POST['wbmailer_smtp_username']) && ($_POST['wbmailer_smtp_username']=='') ? false : true);
+	$checkSmtpPassword = (($admin->StripCodeFromText($admin->get_post('wbmailer_smtp_password'))=='') ? false : true);
+//	$checkSmtpPassword = (isset($_POST['wbmailer_smtp_password']) && ($_POST['wbmailer_smtp_password']=='') ? false : true);
+
 	if(!$checkSmtpHost || !$checkSmtpUser || !$checkSmtpPassword) {
 		$admin->print_error($TEXT['REQUIRED'].' '.$TEXT['WBMAILER_SMTP_AUTH'].
 			'<br /><strong>'.$MESSAGE['GENERIC_FILL_IN_ALL'].'</strong>', $js_back);
@@ -73,15 +77,17 @@
 // Work-out file mode
 if($advanced == '')
 {
+	$file_mode = STRING_FILE_MODE;
+	$dir_mode = STRING_DIR_MODE;
 	// Check if should be set to 777 or left alone
-	if(isset($_POST['world_writeable']) && $_POST['world_writeable'] == 'true')
-    {
-		$file_mode = '0777';
-		$dir_mode = '0777';
-	} else {
-		$file_mode = STRING_FILE_MODE;
-		$dir_mode = STRING_DIR_MODE;
-	}
+//	if(isset($_POST['world_writeable']) && $_POST['world_writeable'] == 'true')
+//    {
+//		$file_mode = '0777';
+//		$dir_mode = '0777';
+//	} else {
+//		$file_mode = STRING_FILE_MODE;
+//		$dir_mode = STRING_DIR_MODE;
+//	}
 } else {
 	$file_mode = STRING_FILE_MODE;
 	$dir_mode = STRING_DIR_MODE;
@@ -154,9 +160,46 @@
 	}
 }
 
-$allow_tags_in_fields = array('website_header', 'website_footer','website_signature');
-$allow_empty_values = array('website_header','website_footer','pages_directory','page_spacer','website_signature,page_icon_dir','modules_upgrade_list');
-$disallow_in_fields = array('pages_directory', 'media_directory','wb_version');
+$allow_tags_in_fields = array(
+    'website_header',
+    'website_footer',
+    'website_signature'
+    );
+$allow_empty_values = array(
+    'website_header',
+    'website_footer',
+    'website_signature',
+    'wysiwyg_style',
+    'pages_directory',
+    'page_icon_dir',
+    'rename_files_on_upload',
+    'page_spacer',
+    'website_signature',
+    'page_icon_dir',
+    'modules_upgrade_list'
+    );
+$disallow_in_fields = array(
+    'pages_directory',
+    'media_directory',
+    'wb_version'
+    );
+$StripCodeFromInput = array(
+    'website_title',
+    'website_description',
+    'website_keywords',
+    'wysiwyg_style',
+    'search_module_order',
+    'search_max_excerpt',
+    'search_time_limit',
+    'pages_directory',
+    'page_icon_dir',
+    'media_directory',
+    'page_extension',
+    'rename_files_on_upload',
+    'page_spacer',
+    'page_icon_dir',
+    'modules_upgrade_list'
+    );
 
 $bRebuildAccessFiles = ( (isset( $_POST['rebuild_access_files']) && ( $_POST['rebuild_access_files'] == true )) ? true : false ) ;
 
@@ -189,10 +232,12 @@
 	 			$passed = true;
     			break;
 			case 'sec_anchor':
+                $value = $admin->StripCodeFromText($value);
 				$value=(($value=='') ? 'section_' : $value);
 	 			$passed = true;
 				break;
 			case 'pages_directory':
+                $value = $admin->StripCodeFromText($value);
                 $bNewPageFile = ( ( $value!= $old_settings['pages_directory'] ) ? true :  false );
 	 			$passed = $bNewPageFile;
                 $sGetId = '&amp;id='.$bNewPageFile;
@@ -208,11 +253,13 @@
 	 			$passed = true;
 				break;
 			default :
-			    $passed = in_array($setting_name, $allow_empty_values);
+                $passed = in_array($setting_name, $allow_empty_values);
+                if(in_array($setting_name, $StripCodeFromInput) ) {
+                    $value = $admin->StripCodeFromText($value);
+                }
 				break;
 		}
 
-
 	    if (!in_array($setting_name, $allow_tags_in_fields))
 	    {
 	        $value = strip_tags($value);
@@ -222,7 +269,7 @@
 	    {
 	        $value = trim($admin->add_slashes($value));
 	        $sql = 'UPDATE `'.TABLE_PREFIX.'settings` ';
-	        $sql .= 'SET `value` = \''.$value.'\' ';
+	        $sql .= 'SET `value` = \''.($value).'\' '; // mysql_escape_string
 	        $sql .= 'WHERE `name` != \'wb_version\' ';
 	        $sql .= 'AND `name` = \''.$setting_name.'\' ';
 	        if (!$database->query($sql))
@@ -241,6 +288,11 @@
     }
 
 }
+$StripCodeFromISearch = array(
+    'search_module_order',
+    'search_max_excerpt',
+    'search_time_limit',
+    );
 
 // Query current search settings in the db, then loop through them and update the db with the new value
 $sql  = 'SELECT `name`, `value` FROM `'.TABLE_PREFIX.'search` ';
@@ -255,11 +307,15 @@
 {
 	$old_value = $search_setting['value'];
 	$setting_name = $search_setting['name'];
-	$post_name = 'search_'.$search_setting['name'];
+	$post_name = 'search_'.$setting_name;
 
     // hold old value if post is empty
     // check search template
-    $value = ( ($admin->get_post($post_name) == '') && ($setting_name != 'template') ) ? $old_value : $admin->get_post($post_name);
+    $value = ($admin->get_post($post_name));
+    if(in_array($post_name, $StripCodeFromISearch) ) {
+        $value = $admin->StripCodeFromText($value);
+    }
+    $value = ( ($value == '') && ($setting_name != 'template') ) ? $old_value : $value;
     // $value =  ( ($admin->get_post($post_name) == '') && ($setting_name == 'template') ) ? DEFAULT_TEMPLATE : $admin->get_post($post_name);
     if(isset($value))
 	{
Index: branches/2.8.x/wb/admin/settings/index.php
===================================================================
--- branches/2.8.x/wb/admin/settings/index.php	(revision 1776)
+++ branches/2.8.x/wb/admin/settings/index.php	(revision 1777)
@@ -36,226 +36,604 @@
 require_once(WB_PATH.'/framework/functions.php');
 require_once(WB_PATH.'/framework/functions-utf8.php');
 
-$mLang = ModLanguage::getInstance();
-$mLang->setLanguage(dirname(__FILE__).'/languages/', LANGUAGE, DEFAULT_LANGUAGE);
+if(!class_exists('Template', false)){ include(WB_PATH.'/include/phplib/ttemplate.inc'); }
 
 // Setup template object, parse vars to it, then parse it
 // Create new template object
-$template = new Template(dirname($admin->correct_theme_source('settings.htt')),'keep');
-// $template->debug = true;
-$template->set_file('page',        'settings.htt');
-$template->set_block('page',       'main_block', 'main');
-$template->set_var('FTAN', $admin->getFTAN());
+$oTpl = new Template(dirname($admin->correct_theme_source('settings.htt')),'comment');
+//$oTpl->debug = true;
+//$oTpl->filename_comments = true;
+//$oTpl->unknown_regexp = "strict";
+//$oTpl->halt_on_error = "report" ;
 
-$template->set_block('main_block', 'template_list_block',         'template_list');
-$template->set_block('main_block', 'timezone_list_block',         'timezone_list');
-$template->set_block('main_block', 'language_list_block',         'language_list');
-$template->set_block('main_block', 'date_format_list_block',      'date_format_list');
-$template->set_block('main_block', 'time_format_list_block',      'time_format_list');
-$template->set_block('main_block', 'theme_list_block',            'theme_list');
-$template->set_block('main_block', 'search_template_list_block',  'search_template_list');
-$template->set_block('main_block', 'group_list_block',            'group_list');
-$template->set_block('main_block', 'charset_list_block',          'charset_list');
-$template->set_block('main_block', 'error_reporting_list_block',  'error_reporting_list');
-$template->set_block('main_block', 'editor_list_block',           'editor_list');
-$template->set_block('main_block', 'page_level_limit_list_block', 'page_level_limit_list');
+$oTpl->set_file('page',  'settings.htt');
+$oTpl->set_block('page', 'main_block', 'main');
 
-$template->set_block('main_block', 'show_page_level_limit_block', 'show_page_level_limit');
-$template->set_block('main_block', 'show_checkbox_1_block',       'show_checkbox_1');
-$template->set_block('main_block', 'show_checkbox_2_block',       'show_checkbox_2');
-$template->set_block('main_block', 'show_checkbox_3_block',       'show_checkbox_3');
-$template->set_block('main_block', 'show_php_error_level_block',  'show_php_error_level');
-$template->set_block('main_block', 'show_charset_block',          'show_charset');
-$template->set_block('main_block', 'show_wysiwyg_block',          'show_wysiwyg');
-$template->set_block('main_block', 'show_access_block',           'show_access');
-$template->set_block('main_block', 'show_search_block',           'show_search');
-$template->set_block('main_block', 'show_redirect_timer_block',   'show_redirect_timer');
+$mLang = ModLanguage::getInstance();
+$mLang->setLanguage(dirname(__FILE__).'/languages/', LANGUAGE, DEFAULT_LANGUAGE);
+
+$oTpl->set_var('FTAN', $admin->getFTAN());
 /*-- insert all needed vars from language files ----------------------------------------*/
-$template->set_var($mLang->getLangArray());
+$oTpl->set_var($mLang->getLangArray());
 
 // Query current settings in the db, then loop through them and print them
-$query = "SELECT * FROM ".TABLE_PREFIX."settings";
-$results = $database->query($query);
-while($setting = $results->fetchRow())
-{
-	$setting_name = $setting['name'];
-	$setting_value = ( $setting_name != 'wbmailer_smtp_password' ) ? htmlspecialchars($setting['value']) : $setting['value'];
-	$template->set_var(strtoupper($setting_name),$setting_value);
+$query = "SELECT * FROM `".TABLE_PREFIX."settings`";
+if($results = $database->query($query)) {
+    while($setting = $results->fetchRow(MYSQL_ASSOC)) {
+    	$setting_name = $setting['name'];
+    	$setting_value = ( $setting_name != 'wbmailer_smtp_password' ) ? htmlspecialchars($setting['value']) : htmlentities($setting['value'], ENT_COMPAT, 'UTF-8');
+    	$oTpl->set_var(strtoupper($setting_name),($setting_value));
+//        $oTpl->parse('main', 'main_block', true);
+    }
 }
 
-// Do the same for settings stored in config file as with ones in db
-$database_type = '';
 $is_advanced = (isset($_GET['advanced']) && $_GET['advanced'] == 'yes');
 // Tell the browser whether or not to show advanced options
-if($is_advanced)
-{
-	$template->set_var('DISPLAY_ADVANCED', '');
-	$template->set_var('ADVANCED_FILE_PERMS_ID', 'file_perms_box');
-	$template->set_var('BASIC_FILE_PERMS_ID', 'hide');
-	$template->set_var('ADVANCED', 'yes');
-	$template->set_var('ADVANCED_BUTTON', '&lt;&lt; '.$TEXT['HIDE_ADVANCED']);
-	$template->set_var('ADVANCED_LINK', 'index.php?advanced=no');
+    if($is_advanced)
+    {
+    	$oTpl->set_var('DISPLAY_ADVANCED', '');
+    	$oTpl->set_var('ADVANCED_FILE_PERMS_ID', 'file_perms_box');
+    	$oTpl->set_var('BASIC_FILE_PERMS_ID', 'hide');
+    	$oTpl->set_var('ADVANCED', 'yes');
+    	$oTpl->set_var('ADVANCED_BUTTON', '&lt;&lt; '.$TEXT['HIDE_ADVANCED']);
+    	$oTpl->set_var('ADVANCED_LINK', 'index.php?advanced=no');
 
-} else {
-	$template->set_var('DISPLAY_ADVANCED', ' style="display: none;"');
-	$template->set_var('BASIC_FILE_PERMS_ID', 'file_perms_box');
-	$template->set_var('ADVANCED_FILE_PERMS_ID', 'hide');
+    } else {
+    	$oTpl->set_var('DISPLAY_ADVANCED', ' style="display: none;"');
+    	$oTpl->set_var('BASIC_FILE_PERMS_ID', 'file_perms_box');
+    	$oTpl->set_var('ADVANCED_FILE_PERMS_ID', 'hide');
 
-	$template->set_var('ADVANCED', 'no');
-	$template->set_var('ADVANCED_BUTTON', $TEXT['SHOW_ADVANCED'].' &gt;&gt;');
-	$template->set_var('ADVANCED_LINK', 'index.php?advanced=yes');
-}
+    	$oTpl->set_var('ADVANCED', 'no');
+    	$oTpl->set_var('ADVANCED_BUTTON', $TEXT['SHOW_ADVANCED'].' &gt;&gt;');
+    	$oTpl->set_var('ADVANCED_LINK', 'index.php?advanced=yes');
+    }
 
-	$query = "SELECT * FROM ".TABLE_PREFIX."search WHERE extra = ''";
-	$results = $database->query($query);
+	$sSelected = ' selected="selected"';
+	$checked   = ' checked="checked"';
 
-	// Query current settings in the db, then loop through them and print them
-	while($setting = $results->fetchRow())
+	$oTpl->set_var(array(
+		'WB_URL' => WB_URL,
+		'THEME_URL' => THEME_URL,
+		'ADMIN_URL' => ADMIN_URL,
+	 ));
+
+	// Insert language headings
+	$oTpl->set_var(array(
+		'HEADING_GENERAL_SETTINGS' => $HEADING['GENERAL_SETTINGS'],
+		'HEADING_DEFAULT_SETTINGS' => $HEADING['DEFAULT_SETTINGS'],
+		'HEADING_SEARCH_SETTINGS' => $HEADING['SEARCH_SETTINGS'],
+		'HEADING_SERVER_SETTINGS' => $HEADING['SERVER_SETTINGS'],
+		'HEADING_WBMAILER_SETTINGS' => $HEADING['WBMAILER_SETTINGS'],
+		'HEADING_ADMINISTRATION_TOOLS' => $HEADING['ADMINISTRATION_TOOLS']
+		)
+	);
+
+	// Insert language textarea label
+	$oTpl->set_var(array(
+		'TEXT_WEBSITE_TITLE' => $TEXT['WEBSITE_TITLE'],
+		'TEXT_WEBSITE_DESCRIPTION' => $TEXT['WEBSITE_DESCRIPTION'],
+		'TEXT_WEBSITE_KEYWORDS' => $TEXT['WEBSITE_KEYWORDS'],
+		'TEXT_WEBSITE_HEADER' => $TEXT['WEBSITE_HEADER'],
+		'TEXT_WEBSITE_FOOTER' => $TEXT['WEBSITE_FOOTER'],
+		'TEXT_HEADER' => $TEXT['HEADER'],
+		'TEXT_FOOTER' => $TEXT['FOOTER'],
+		'TEXT_TEXT' => $TEXT['TEXT'],
+		'TEXT_RESULTS_HEADER' => $TEXT['RESULTS_HEADER'],
+		'TEXT_RESULTS_LOOP' => $TEXT['RESULTS_LOOP'],
+		'TEXT_RESULTS_FOOTER' => $TEXT['RESULTS_FOOTER'],
+		));
+
+	// Insert generell language
+    $oTpl->set_var(array(
+		'TEXT_SAVE' => $TEXT['SAVE'],
+		'TEXT_RESET' => $TEXT['RESET'],
+		'TEXT_ENABLED' => $TEXT['ENABLED'],
+		'TEXT_DISABLED' => $TEXT['DISABLED'],
+		'TEXT_DEFAULT' => $TEXT['DEFAULT'],
+		'TEXT_NO_RESULTS' => $TEXT['NO_RESULTS'],
+		'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
+		));
+
+// Insert language labels
+	$oTpl->set_var(array(
+		'TEXT_PAGE_TRASH' => $TEXT['PAGE_TRASH'],
+		'TEXT_PAGE_LANGUAGES' => $TEXT['PAGE_LANGUAGES'],
+		'TEXT_FRONTEND' => $TEXT['FRONTEND'],
+		'TEXT_LOGIN' => $TEXT['LOGIN'],
+		'TEXT_HOMEPAGE_REDIRECTION' => $TEXT['HOMEPAGE_REDIRECTION'],
+		'TEXT_SECTION_BLOCKS' => $TEXT['SECTION_BLOCKS'],
+		'TEXT_MANAGE' => $TEXT['MANAGE'],
+		'TEXT_SMART_LOGIN' => $TEXT['SMART_LOGIN'],
+		'TEXT_PHP_ERROR_LEVEL' => $TEXT['PHP_ERROR_LEVEL'],
+		'TEXT_WYSIWYG_STYLE' => $TEXT['WYSIWYG_STYLE'],
+		'TEXT_CHARSET' => $TEXT['CHARSET'],
+		'TEXT_REDIRECT_AFTER' => $TEXT['REDIRECT_AFTER'],
+		'TEXT_SIGNUP' => $TEXT['SIGNUP'].' '.$TEXT['GROUP'],
+		'TEXT_MULTILINGUAL' => $TEXT['MULTILINGUAL'],
+		'TEXT_HOME_FOLDERS' => $TEXT['HOME_FOLDERS'],
+		'TEXT_MANAGE_SECTIONS' => $HEADING['MANAGE_SECTIONS'],
+		'TEXT_MULTIPLE_MENUS' => $TEXT['MULTIPLE_MENUS'],
+		'TEXT_INLINE' => $TEXT['INLINE'],
+		'TEXT_SEPARATE' => $TEXT['SEPARATE'],
+		'TEXT_LANGUAGE' => $TEXT['LANGUAGE'],
+		'TEXT_TIMEZONE' => $TEXT['TIMEZONE'],
+		'TEXT_DATE_FORMAT' => $TEXT['DATE_FORMAT'],
+		'TEXT_TIME_FORMAT' => $TEXT['TIME_FORMAT'],
+		'TEXT_TEMPLATE' => $TEXT['TEMPLATE'],
+		'TEXT_THEME' => $TEXT['THEME'],
+		'TEXT_WYSIWYG_EDITOR' => $TEXT['WYSIWYG_EDITOR'],
+		'TEXT_PAGE_LEVEL_LIMIT' => $TEXT['PAGE_LEVEL_LIMIT'],
+		'TEXT_INTRO_PAGE' => $TEXT['INTRO_PAGE'],
+		));
+
+//  Insert permissions values
+	if($admin->get_permission('settings_advanced') != true)
 	{
-		$setting_name = $setting['name'];
-		$setting_value = htmlspecialchars(($setting['value']));
-		switch($setting_name) {
-			// Search header
-			case 'header':
-				$template->set_var('SEARCH_HEADER', $setting_value);
-			break;
-			// Search results header
-			case 'results_header':
-				$template->set_var('SEARCH_RESULTS_HEADER', $setting_value);
-			break;
-			// Search results loop
-			case 'results_loop':
-				$template->set_var('SEARCH_RESULTS_LOOP', $setting_value);
-			break;
-			// Search results footer
-			case 'results_footer':
-				$template->set_var('SEARCH_RESULTS_FOOTER', $setting_value);
-			break;
-			// Search no results
-			case 'no_results':
-				$template->set_var('SEARCH_NO_RESULTS', $setting_value);
-			break;
-			// Search footer
-			case 'footer':
-				$template->set_var('SEARCH_FOOTER', $setting_value);
-			break;
-			// Search module-order
-			case 'module_order':
-				$template->set_var('SEARCH_MODULE_ORDER', $setting_value);
-			break;
-			// Search max lines of excerpt
-			case 'max_excerpt':
-				$template->set_var('SEARCH_MAX_EXCERPT', $setting_value);
-			break;
-			// time-limit
-			case 'time_limit':
-				$template->set_var('SEARCH_TIME_LIMIT', $setting_value);
-			break;
-			// Search template
-			case 'template':
-				$search_template = $setting_value;
-			break;
+		$oTpl->set_var('DISPLAY_ADVANCED_BUTTON', 'hide');
+	}
+
+    /**
+     * <!-- BEGIN show_page_level_limit_block -->
+     * Insert page level limits
+     */
+    $oTpl->set_block('main_block', 'show_page_level_limit_block', 'show_page_level_limit');
+    /**
+     * <!-- BEGIN page_level_limit_list_block -->
+     */
+    $oTpl->set_block('show_page_level_limit_block', 'page_level_limit_list_block', 'page_level_limit_list');
+	for($i = 1; $i <= 10; $i++)
+	{
+		$oTpl->set_var('NUMBER', $i);
+		if(PAGE_LEVEL_LIMIT == $i)
+	    {
+			$oTpl->set_var('SELECTED', $sSelected);
+		} else {
+			$oTpl->set_var('SELECTED', '');
 		}
+		$oTpl->parse('page_level_limit_list', 'page_level_limit_list_block', true);
 	}
 
-	$sSelected = ' selected="selected"';
-	$checked   = ' checked="checked"';
+    /**
+     * <!-- END page_level_limit_list_block -->
+     * <!-- END show_page_level_limit_block -->
+     */
+    if($is_advanced)
+    {
+    	$oTpl->parse('show_page_level_limit', 'show_page_level_limit_block', false);
+    } else {
+    	$oTpl->parse('show_page_level_limit', '');
+    }
 
-	$template->set_var(array(
-						'WB_URL' => WB_URL,
-						'THEME_URL' => THEME_URL,
-						'ADMIN_URL' => ADMIN_URL,
-					 ));
+    /**
+     * Work-out if page trash feature is disabled, in-line, or separate
+     */
+	if(PAGE_TRASH == 'disabled')
+	{
+    	$oTpl->set_var(array(
+				'PAGE_TRASH_DISABLED' => $checked,
+				'PAGE_TRASH_INLINE' => '',
+				'DISPLAY_PAGE_TRASH_SEPARATE' => 'display: none;',
+				));
+	} elseif(PAGE_TRASH == 'inline')
+	{
+    	$oTpl->set_var(array(
+				'PAGE_TRASH_INLINE' => $checked,
+				'PAGE_TRASH_DISABLED' => '',
+				'DISPLAY_PAGE_TRASH_SEPARATE' => 'display: none;',
+				));
+	} elseif(PAGE_TRASH == 'separate')
+	{
+		$oTpl->set_var('PAGE_TRASH_SEPARATE', $checked);
+		$oTpl->set_var('DISPLAY_PAGE_TRASH_SEPARATE', 'display: inline;');
+	}
 
-	// Insert language values
+    /**
+     * <!-- BEGIN show_checkbox_1_block -->
+     * advanced yes
+     */
+    $oTpl->set_block('main_block', 'show_checkbox_1_block', 'show_checkbox_1');
+//  Work-out if page languages feature is enabled
+	if(defined('PAGE_LANGUAGES') && PAGE_LANGUAGES == true)
+	{
+    	$oTpl->set_var(array(
+				'PAGE_LANGUAGES_ENABLED' => $checked,
+				'PAGE_LANGUAGES_DISABLED' => '',
+				));
+	} else {
+    	$oTpl->set_var(array(
+				'PAGE_LANGUAGES_DISABLED' => $checked,
+				'PAGE_LANGUAGES_ENABLED' => '',
+				));
+	}
+
+//  Work-out if page extended feature is enabled
+	if(defined('PAGE_EXTENDED') && PAGE_EXTENDED == true)
+	{
+    	$oTpl->set_var(array(
+				'PAGE_EXTENDED_ENABLED' => $checked,
+				'PAGE_EXTENDED_DISABLED' => '',
+				));
+	} else {
+    	$oTpl->set_var(array(
+				'PAGE_EXTENDED_DISABLED' => $checked,
+				'PAGE_EXTENDED_ENABLED' => '',
+				));
+	}
+
+//  Work-out if multiple menus feature is enabled
+	if(defined('MULTIPLE_MENUS') && MULTIPLE_MENUS == true)
+	{
+    	$oTpl->set_var(array(
+				'MULTIPLE_MENUS_ENABLED' => $checked,
+				'MULTIPLE_MENUS_DISABLED' => '',
+				));
+	} else {
+    	$oTpl->set_var(array(
+				'MULTIPLE_MENUS_DISABLED' => $checked,
+				'MULTIPLE_MENUS_ENABLED' => '',
+				));
+	}
+
+    /**
+     * <!-- END show_checkbox_1_block -->
+     * advanced yes
+     */
+    if($is_advanced)
+    {
+    	$oTpl->parse('show_checkbox_1', 'show_checkbox_1_block');
+    } else {
+    	$oTpl->parse('show_checkbox_1', '');
+    }
+
+//  Work-out if media home folder feature is enabled
+    $oTpl->set_var('TEXT_HOME_FOLDERS', $TEXT['HOME_FOLDERS']);
+	if(HOME_FOLDERS)
+	{
+    	$oTpl->set_var(array(
+				'HOME_FOLDERS_ENABLED' => $checked,
+				'HOME_FOLDERS_DISABLED' => '',
+				));
+	} else {
+    	$oTpl->set_var(array(
+				'HOME_FOLDERS_DISABLED' => $checked,
+				'HOME_FOLDERS_ENABLED' => '',
+				));
+	}
+
+    $oTpl->set_block('main_block', 'show_checkbox_2_block', 'show_checkbox_2');
+//  Work-out if manage sections feature is enabled
+	if(MANAGE_SECTIONS)
+	{
+    	$oTpl->set_var(array(
+				'MANAGE_SECTIONS_ENABLED' => $checked,
+				'MANAGE_SECTIONS_DISABLED' => '',
+				));
+	} else {
+    	$oTpl->set_var(array(
+				'MANAGE_SECTIONS_DISABLED' => $checked,
+				'MANAGE_SECTIONS_ENABLED' => '',
+				));
+	}
+
+	// Work-out if section blocks feature is enabled
+	if(defined('SECTION_BLOCKS') && SECTION_BLOCKS == true)
+	{
+    	$oTpl->set_var(array(
+				'SECTION_BLOCKS_ENABLED' => $checked,
+				'SECTION_BLOCKS_DISABLED' => '',
+				));
+	} else {
+    	$oTpl->set_var(array(
+				'SECTION_BLOCKS_DISABLED' => $checked,
+				'SECTION_BLOCKS_ENABLED' => '',
+				));
+	}
+
+    /**
+     *
+     */
+    if($is_advanced)
+    {
+     	$oTpl->parse('show_checkbox_2', 'show_checkbox_2_block');
+    } else {
+    	$oTpl->parse('show_checkbox_2', '');
+    }
+
+	// Work-out if intro feature is enabled
+	if(INTRO_PAGE)
+	{
+    	$oTpl->set_var(array(
+				'INTRO_PAGE_ENABLED' => $checked,
+				'INTRO_PAGE_DISABLED' => '',
+				));
+	} else {
+    	$oTpl->set_var(array(
+				'INTRO_PAGE_DISABLED' => $checked,
+				'INTRO_PAGE_ENABLED' => '',
+				));
+	}
+/**
+ * <!-- BEGIN show_checkbox_3_block -->
+ */
+    $oTpl->set_block('main_block', 'show_checkbox_3_block', 'show_checkbox_3');
+//  Work-out if homepage redirection feature is enabled
+	if(defined('HOMEPAGE_REDIRECTION') && HOMEPAGE_REDIRECTION == true)
+	{
+    	$oTpl->set_var(array(
+				'HOMEPAGE_REDIRECTION_ENABLED' => $checked,
+				'HOMEPAGE_REDIRECTION_DISABLED' => '',
+				));
+	} else {
+//		$oTpl->set_var('HOMEPAGE_REDIRECTION_DISABLED', $checked);
+    	$oTpl->set_var(array(
+				'HOMEPAGE_REDIRECTION_DISABLED' => $checked,
+				'HOMEPAGE_REDIRECTION_ENABLED' => '',
+				));
+	}
+//  Work-out if smart login feature is enabled
+	if(defined('SMART_LOGIN') && SMART_LOGIN == true)
+	{
+		$oTpl->set_var('SMART_LOGIN_ENABLED', $checked);
+    	$oTpl->set_var(array(
+				'SMART_LOGIN_ENABLED' => $checked,
+				'SMART_LOGIN_DISABLED' => '',
+				));
+	} else {
+		$oTpl->set_var('SMART_LOGIN_DISABLED', $checked);
+    	$oTpl->set_var(array(
+				'SMART_LOGIN_DISABLED' => $checked,
+				'SMART_LOGIN_ENABLED' => '',
+				));
+	}
+
+    /**
+     * <!-- END show_checkbox_3_block -->
+     */
+    if($is_advanced)
+    {
+    	$oTpl->parse('show_checkbox_3', 'show_checkbox_3_block');
+    } else {
+    	$oTpl->parse('show_checkbox_3', 'show_checkbox_3_block', '');
+    }
+
+//  Work-out if frontend login feature is enabled
+	if(FRONTEND_LOGIN)
+	{
+    	$oTpl->set_var(array(
+				'PRIVATE_ENABLED' => $checked,
+				'PRIVATE_DISABLED' => '',
+				));
+	} else {
+    	$oTpl->set_var(array(
+				'PRIVATE_DISABLED' => $checked,
+				'INTRO_PAGE_ENABLED' => '',
+				));
+	}
+
+	if(CONFIRMED_REGISTRATION)
+	{
+    	$oTpl->set_var(array(
+				'CONFIRMED_REGISTRATION_ENABLED' => $checked,
+				'CONFIRMED_REGISTRATION_DISABLED' => '',
+				));
+	} else {
+    	$oTpl->set_var(array(
+				'CONFIRMED_REGISTRATION_DISABLED' => $checked,
+				'CONFIRMED_REGISTRATION_ENABLED' => '',
+				));
+	}
+
+//  Insert groups into signup list
+    $oTpl->set_block('main_block', 'group_list_block', 'group_list');
+    $sql = "SELECT `group_id`, `name` FROM `".TABLE_PREFIX."groups` WHERE `group_id` != '1'";
+	if($results = $database->query($sql)) {
+    	if($results->numRows() > 0)
+    	{
+    		while($group = $results->fetchRow(MYSQL_ASSOC))
+    	    {
+    			$oTpl->set_var('ID', $group['group_id']);
+    			$oTpl->set_var('NAME', $group['name']);
+    			if(FRONTEND_SIGNUP == $group['group_id'])
+    	        {
+    				$oTpl->set_var('SELECTED', $sSelected);
+    			} else {
+    				$oTpl->set_var('SELECTED', '');
+    			}
+    			$oTpl->parse('group_list', 'group_list_block', true);
+    		}
+    	} else {
+    		$oTpl->set_var('ID', 'disabled');
+    		$oTpl->set_var('NAME', $MESSAGE['GROUPS']['NO_GROUPS_FOUND']);
+    		$oTpl->parse('group_list', 'group_list_block', true);
+    	}
+	}
+
+    /**
+     * <!-- BEGIN show_redirect_timer_block -->
+     */
+    $oTpl->set_block('main_block', 'show_redirect_timer_block', 'show_redirect_timer');
+
+    /**
+     * <!-- END show_redirect_timer_block -->
+     */
+    if($is_advanced)
+    {
+    	$oTpl->parse('show_redirect_timer', 'show_redirect_timer_block');
+    } else {
+    	$oTpl->parse('show_redirect_timer', '');
+    }
+
+    /**
+     * <!-- BEGIN show_php_error_level_block -->
+     */
+	// Insert default error reporting values
+	require(ADMIN_PATH.'/interface/er_levels.php');
+    $oTpl->set_block('main_block', 'show_php_error_level_block',  'show_php_error_level');
+    $oTpl->set_block('show_php_error_level_block', 'php_error_list_block',  'php_error_list');
+	foreach($ER_LEVELS AS $value => $title)
+	{
+		$oTpl->set_var('VALUE', $value);
+		$oTpl->set_var('NAME', $title);
+	    $selected = (ER_LEVEL == $value) ? $sSelected : '';
+	    $oTpl->set_var('SELECTED', $selected);
+		$oTpl->parse('php_error_list', 'php_error_list_block', true);
+	}
+
+    /**
+     * <!-- END show_php_error_level_block -->
+     */
+    if($is_advanced)
+    {
+    	$oTpl->parse('show_php_error_level',  'show_php_error_level_block');
+    } else {
+    	$oTpl->parse('show_php_error_level', '');
+    }
+
+    /**
+     * <!-- BEGIN show_wysiwyg_block -->
+     */
+//  Insert WYSIWYG modules
+    $oTpl->set_block('main_block', 'show_wysiwyg_block',        'show_wysiwyg');
+    $oTpl->set_block('show_wysiwyg_block', 'editor_list_block', 'editor_list');
+	$file='none';
+	$module_name=$TEXT['NONE'];
+	$oTpl->set_var('FILE', $file);
+	$oTpl->set_var('NAME', $module_name);
+	$selected = (!defined('WYSIWYG_EDITOR') || $file == WYSIWYG_EDITOR) ? $sSelected : '';
+	$oTpl->set_var('SELECTED', $selected);
+	$oTpl->parse('editor_list', 'editor_list_block', true);
 	$sql  = 'SELECT `name`, `directory` FROM `'.TABLE_PREFIX.'addons` ';
+	$sql .= 'WHERE `type` = \'module\' ';
+	$sql .= 'AND `function` = \'wysiwyg\' ';
+	$sql .= 'ORDER BY `name`';
+	if( ($result = $database->query($sql)) && ($result->numRows() > 0) )
+	{
+		while($addon = $result->fetchRow(MYSQL_ASSOC))
+	    {
+			if( $admin->get_permission($addon['directory'],'module' ) )
+			{
+				$oTpl->set_var('FILE', $addon['directory']);
+				$oTpl->set_var('NAME', $addon['name']);
+				$selected = (!defined('WYSIWYG_EDITOR') || $addon['directory'] == WYSIWYG_EDITOR) ? $sSelected : '';
+				$oTpl->set_var('SELECTED', $selected);
+				$oTpl->parse('editor_list', 'editor_list_block', true);
+			}
+		}
+	}
+
+    /**
+     * <!-- END show_wysiwyg_block -->
+     */
+    if($is_advanced)
+    {
+    	$oTpl->parse('show_wysiwyg','show_wysiwyg_block');
+    } else {
+    	$oTpl->parse('show_wysiwyg', '');
+    }
+
+//  Insert language values
+    $oTpl->set_block('main_block', 'language_list_block', 'language_list');
+	$sql  = 'SELECT `name`, `directory` FROM `'.TABLE_PREFIX.'addons` ';
 	$sql .= 'WHERE `type` = \'language\' ';
 	$sql .= 'AND `function` != \'theme\' ';
 	$sql .= 'ORDER BY `directory`';
-
 	if( ($result = $database->query($sql)) && ($result->numRows() > 0) )
-//	$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'language' ORDER BY directory");
-//	if($result->numRows() > 0)
 	{
-		while($addon = $result->fetchRow()) {
+		while($addon = $result->fetchRow(MYSQL_ASSOC)) {
 	        $langIcons = (empty($addon['directory'])) ? 'none' : strtolower($addon['directory']);
 
-			$template->set_var('CODE',        $addon['directory']);
-			$template->set_var('NAME',        $addon['name']);
-			$template->set_var('FLAG',        THEME_URL.'/images/flags/'.$langIcons);
-			$template->set_var('SELECTED',    (DEFAULT_LANGUAGE == $addon['directory'] ? $sSelected : '') );
-			$template->parse('language_list', 'language_list_block', true);
+			$oTpl->set_var('CODE',        $addon['directory']);
+			$oTpl->set_var('NAME',        $addon['name']);
+			$oTpl->set_var('FLAG',        THEME_URL.'/images/flags/'.$langIcons);
+			$oTpl->set_var('SELECTED',    (DEFAULT_LANGUAGE == $addon['directory'] ? $sSelected : '') );
+			$oTpl->parse('language_list', 'language_list_block', true);
 		}
 	}
+    /**
+     * <!-- BEGIN show_charset_block -->
+     */
+//  Insert default charset values
+    $oTpl->set_block('main_block', 'show_charset_block', 'show_charset');
+	require(ADMIN_PATH.'/interface/charsets.php');
+    $oTpl->set_block('show_charset_block', 'charset_list_block', 'charset_list');
+	foreach($CHARSETS AS $code => $title) {
+		$oTpl->set_var('VALUE', $code);
+		$oTpl->set_var('NAME', $title);
+		if(DEFAULT_CHARSET == $code) {
+			$oTpl->set_var('SELECTED', $sSelected);
+		} else {
+			$oTpl->set_var('SELECTED', '');
+		}
+		$oTpl->parse('charset_list', 'charset_list_block', true);
+	}
+    /**
+     * <!-- END show_charset_block -->
+     */
+    if($is_advanced)
+    {
+    	$oTpl->parse('show_charset', 'show_charset_block');
+    } else {
+    	$oTpl->parse('show_charset', '');
+    }
 
-	// Insert default timezone values
+//  nsert default timezone values
 	require(ADMIN_PATH.'/interface/timezones.php');
+    $oTpl->set_block('main_block', 'timezone_list_block','timezone_list');
 	foreach($TIMEZONES AS $hour_offset => $title)
 	{
-		// Make sure we dont list "System Default" as we are setting this value!
+//  Make sure we dont list "System Default" as we are setting this value!
 		if($hour_offset != '-20') {
-			$template->set_var('VALUE', $hour_offset);
-			$template->set_var('NAME', $title);
+			$oTpl->set_var('VALUE', $hour_offset);
+			$oTpl->set_var('NAME', $title);
 			if(DEFAULT_TIMEZONE == $hour_offset*60*60) {
-				$template->set_var('SELECTED', $sSelected);
+				$oTpl->set_var('SELECTED', $sSelected);
 			} else {
-				$template->set_var('SELECTED', '');
+				$oTpl->set_var('SELECTED', '');
 			}
-			$template->parse('timezone_list', 'timezone_list_block', true);
+			$oTpl->parse('timezone_list', 'timezone_list_block', true);
 		}
 	}
 
-	// Insert default charset values
-	require(ADMIN_PATH.'/interface/charsets.php');
-	foreach($CHARSETS AS $code => $title) {
-		$template->set_var('VALUE', $code);
-		$template->set_var('NAME', $title);
-		if(DEFAULT_CHARSET == $code) {
-			$template->set_var('SELECTED', $sSelected);
-		} else {
-			$template->set_var('SELECTED', '');
-		}
-		$template->parse('charset_list', 'charset_list_block', true);
-	}
-
-
-	// Insert date format list
+//  Insert date format list
 	require(ADMIN_PATH.'/interface/date_formats.php');
+    $oTpl->set_block('main_block', 'date_format_list_block', 'date_format_list');
 	foreach($DATE_FORMATS AS $format => $title) {
 		$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
 		if($format != 'system_default') {
-			$template->set_var('VALUE', $format);
+			$oTpl->set_var('VALUE', $format);
 		} else {
-			$template->set_var('VALUE', '');
+			$oTpl->set_var('VALUE', '');
 		}
-		$template->set_var('NAME', $title);
+		$oTpl->set_var('NAME', $title);
 		if(DEFAULT_DATE_FORMAT == $format) {
-			$template->set_var('SELECTED', $sSelected);
+			$oTpl->set_var('SELECTED', $sSelected);
 		} else {
-			$template->set_var('SELECTED', '');
+			$oTpl->set_var('SELECTED', '');
 		}
-		$template->parse('date_format_list', 'date_format_list_block', true);
+		$oTpl->parse('date_format_list', 'date_format_list_block', true);
 	}
 
-	// Insert time format list
+//  Insert time format list
 	require(ADMIN_PATH.'/interface/time_formats.php');
+    $oTpl->set_block('main_block', 'time_format_list_block', 'time_format_list');
 	foreach($TIME_FORMATS AS $format => $title) {
 		$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
 		if($format != 'system_default') {
-			$template->set_var('VALUE', $format);
+			$oTpl->set_var('VALUE', $format);
 		} else {
-			$template->set_var('VALUE', '');
+			$oTpl->set_var('VALUE', '');
 		}
-		$template->set_var('NAME', $title);
+		$oTpl->set_var('NAME', $title);
 		if(DEFAULT_TIME_FORMAT == $format) {
-			$template->set_var('SELECTED', $sSelected);
+			$oTpl->set_var('SELECTED', $sSelected);
 		} else {
-			$template->set_var('SELECTED', '');
+			$oTpl->set_var('SELECTED', '');
 		}
-		$template->parse('time_format_list', 'time_format_list_block', true);
+		$oTpl->parse('time_format_list', 'time_format_list_block', true);
 	}
 
 // Insert templates
+    $oTpl->set_block('main_block', 'template_list_block',         'template_list');
 	$sql  = 'SELECT `name`, `directory` FROM `'.TABLE_PREFIX.'addons` ';
 	$sql .= 'WHERE `type` = \'template\' ';
 	$sql .= 'AND `function` != \'theme\' ';
@@ -262,86 +640,139 @@
 	$sql .= 'ORDER BY `name`';
 	if( ($result = $database->query($sql)) && ($result->numRows() > 0) )
 	{
-//	$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'template' AND function != 'theme' ORDER BY name");
-//	if($result->numRows() > 0) {
-		while($addon = $result->fetchRow())
+		while($addon = $result->fetchRow(MYSQL_ASSOC))
 		{
 			if( $admin->get_permission($addon['directory'],'template' ) )
 			{
-				$template->set_var('FILE', $addon['directory']);
-				$template->set_var('NAME', $addon['name']);
+				$oTpl->set_var('FILE', $addon['directory']);
+				$oTpl->set_var('NAME', $addon['name']);
 				$selected = (($addon['directory'] == DEFAULT_TEMPLATE) ? $sSelected : '');
-				$template->set_var('SELECTED', $selected);
-				$template->parse('template_list', 'template_list_block', true);
+				$oTpl->set_var('SELECTED', $selected);
+				$oTpl->parse('template_list', 'template_list_block', true);
 			}
 		}
 	}
 
 // Insert backend theme
+    $oTpl->set_block('main_block', 'theme_list_block',            'theme_list');
 	$sql  = 'SELECT `name`, `directory` FROM `'.TABLE_PREFIX.'addons` ';
 	$sql .= 'WHERE `type` = \'template\' ';
 	$sql .= 'AND `function` = \'theme\' ';
 	$sql .= 'ORDER BY `name`';
 
-
 	if( ($result = $database->query($sql)) && ($result->numRows() > 0) )
 	{
-//	$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'template' AND function = 'theme' ORDER BY name");
-//	if($result->numRows() > 0) {
-		while($addon = $result->fetchRow())
+		while($addon = $result->fetchRow(MYSQL_ASSOC))
 		{
 			if( $admin->get_permission($addon['directory'],'template' ) )
 			{
-				$template->set_var('FILE', $addon['directory']);
-				$template->set_var('NAME', $addon['name']);
+				$oTpl->set_var('FILE', $addon['directory']);
+				$oTpl->set_var('NAME', $addon['name']);
 				$selected = (($addon['directory'] == DEFAULT_THEME) ? $sSelected : '');
-				$template->set_var('SELECTED', $selected);
-				$template->parse('theme_list', 'theme_list_block', true);
+				$oTpl->set_var('SELECTED', $selected);
+				$oTpl->parse('theme_list', 'theme_list_block', true);
 			}
 		}
 	}
 
-	// Insert WYSIWYG modules
-	$file='none';
-	$module_name=$TEXT['NONE'];
-	$template->set_var('FILE', $file);
-	$template->set_var('NAME', $module_name);
-	$selected = (!defined('WYSIWYG_EDITOR') || $file == WYSIWYG_EDITOR) ? $sSelected : '';
-	$template->set_var('SELECTED', $selected);
-	$template->parse('editor_list', 'editor_list_block', true);
-	$sql  = 'SELECT `name`, `directory` FROM `'.TABLE_PREFIX.'addons` ';
-	$sql .= 'WHERE `type` = \'module\' ';
-	$sql .= 'AND `function` = \'wysiwyg\' ';
-	$sql .= 'ORDER BY `name`';
-	if( ($result = $database->query($sql)) && ($result->numRows() > 0) )
-	{
-//	$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'module' AND function = 'wysiwyg' ORDER BY name");
-//	if($result->numRows() > 0)
+//  Work-out if warn_page_leave feature is enabled
+//	if (defined('WARN_PAGE_LEAVE') && WARN_PAGE_LEAVE == true)
 //	{
-		while($addon = $result->fetchRow())
-	    {
-			if( $admin->get_permission($addon['directory'],'module' ) )
-			{
-				$template->set_var('FILE', $addon['directory']);
-				$template->set_var('NAME', $addon['name']);
-				$selected = (!defined('WYSIWYG_EDITOR') || $addon['directory'] == WYSIWYG_EDITOR) ? $sSelected : '';
-				$template->set_var('SELECTED', $selected);
-				$template->parse('editor_list', 'editor_list_block', true);
-			}
-		}
+//    	$oTpl->set_var(array(
+//				'WARN_PAGE_LEAVE_ENABLED' => $checked,
+//				'WARN_PAGE_LEAVE_DISABLED' => '',
+//				));
+//	} else {
+//    	$oTpl->set_var(array(
+//				'MANAGE_SECTIONS_DISABLED' => $checked,
+//				'WARN_PAGE_LEAVE_DISABLED' => '',
+//				));
+//	}
+
+/*  Make's sure GD library is installed */
+//	if(extension_loaded('gd') && function_exists('imageCreateFromJpeg'))
+//	{
+//		$oTpl->set_var('GD_EXTENSION_ENABLED', '');
+//	} else {
+//		$oTpl->set_var('GD_EXTENSION_ENABLED', ' style="display: none;"');
+//	}
+
+//  Insert permissions values
+//	if($admin->get_permission('settings_advanced') != true)
+//	{
+//		$oTpl->set_var('DISPLAY_ADVANCED_BUTTON', 'hide');
+//	}
+
+/**
+ *
+ *
+ */
+    $oTpl->set_block('main_block', 'show_search_block','show_search');
+	$query = "SELECT * FROM `".TABLE_PREFIX."search` WHERE `extra` = '' ";
+	if($results = $database->query($query))
+    {
+    	// Query current settings in the db, then loop through them and print them
+    	while($setting = $results->fetchRow(MYSQL_ASSOC))
+    	{
+    		$setting_name = $setting['name'];
+    		$setting_value = htmlspecialchars(($setting['value']));
+    		switch($setting_name) {
+    			// Search header
+    			case 'header':
+    				$oTpl->set_var('SEARCH_HEADER', $setting_value);
+    			break;
+    			// Search results header
+    			case 'results_header':
+    				$oTpl->set_var('SEARCH_RESULTS_HEADER', $setting_value);
+    			break;
+    			// Search results loop
+    			case 'results_loop':
+    				$oTpl->set_var('SEARCH_RESULTS_LOOP', $setting_value);
+    			break;
+    			// Search results footer
+    			case 'results_footer':
+    				$oTpl->set_var('SEARCH_RESULTS_FOOTER', $setting_value);
+    			break;
+    			// Search no results
+    			case 'no_results':
+    				$oTpl->set_var('SEARCH_NO_RESULTS', $setting_value);
+    			break;
+    			// Search footer
+    			case 'footer':
+    				$oTpl->set_var('SEARCH_FOOTER', $setting_value);
+    			break;
+    			// Search module-order
+    			case 'module_order':
+    				$oTpl->set_var('SEARCH_MODULE_ORDER', $setting_value);
+    			break;
+    			// Search max lines of excerpt
+    			case 'max_excerpt':
+    				$oTpl->set_var('SEARCH_MAX_EXCERPT', $setting_value);
+    			break;
+    			// time-limit
+    			case 'time_limit':
+    				$oTpl->set_var('SEARCH_TIME_LIMIT', $setting_value);
+    			break;
+    			// Search template
+    			case 'template':
+    				$search_template = $setting_value;
+    			break;
+    		}
+    	}
 	}
 
 // Insert templates for search settings
+    $oTpl->set_block('main_block', 'search_template_list_block',  'search_template_list');
 	$search_template = ( ($search_template == DEFAULT_TEMPLATE) || ($search_template == '') ) ? '' : $search_template;
 	$selected = ( ($search_template != DEFAULT_TEMPLATE) ) ?  $sSelected : '';
 
-	$template->set_var(array(
+	$oTpl->set_var(array(
 	        'FILE' => '',
+			'TEXT_MODULE_ORDER' => $TEXT['MODULE_ORDER'],
 	        'NAME' => $TEXT['SYSTEM_DEFAULT'],
 	        'SELECTED' => $selected
 	    ));
-	$template->parse('search_template_list', 'search_template_list_block', true);
-
+	$oTpl->parse('search_template_list', 'search_template_list_block', true);
 	$sql  = 'SELECT `name`, `directory` FROM `'.TABLE_PREFIX.'addons` ';
 	$sql .= 'WHERE `type` = \'template\' ';
 	$sql .= 'AND `function` = \'template\' ';
@@ -348,610 +779,303 @@
 	$sql .= 'ORDER BY `name`';
     if( ($result = $database->query($sql)) && ($result->numRows() > 0) )
 	{
-//	$result = $database->query("SELECT * FROM ".TABLE_PREFIX."addons WHERE type = 'template' AND function = 'template' ORDER BY name");
-//	if($result->numRows() > 0)
-//	{
-		while($addon = $result->fetchRow())
+		while($addon = $result->fetchRow(MYSQL_ASSOC))
 	    {
 			if( $admin->get_permission($addon['directory'],'template' ) )
 			{
-				$template->set_var('FILE', $addon['directory']);
-				$template->set_var('NAME', $addon['name']);
+				$oTpl->set_var('FILE', $addon['directory']);
+				$oTpl->set_var('NAME', $addon['name']);
 		        $selected = ($addon['directory'] == $search_template) ? $sSelected :  '';
-				$template->set_var('SELECTED', $selected);
-				$template->parse('search_template_list', 'search_template_list_block', true);
+				$oTpl->set_var('SELECTED', $selected);
+				$oTpl->parse('search_template_list', 'search_template_list_block', true);
 			}
 		}
 	}
 
-	// Insert default error reporting values
-	require(ADMIN_PATH.'/interface/er_levels.php');
-	foreach($ER_LEVELS AS $value => $title)
+	// Insert search select
+    $oTpl->set_var(array(
+		'TEXT_REGISTERED' => $TEXT['REGISTERED'],
+		'TEXT_PUBLIC' => $TEXT['PUBLIC'],
+		'TEXT_PRIVATE' => $TEXT['PRIVATE'],
+		'TEXT_NONE' => $TEXT['NONE'],
+		'TEXT_MAX_EXCERPT' => $TEXT['MAX_EXCERPT'],
+		'TEXT_TIME_LIMIT' => $TEXT['TIME_LIMIT'],
+		'TEXT_VISIBILITY' => $TEXT['VISIBILITY'],
+		'TEXT_SEARCH' => $TEXT['SEARCH'],
+		));
+	if(SEARCH == 'private')
 	{
-		$template->set_var('VALUE', $value);
-		$template->set_var('NAME', $title);
-	    $selected = (ER_LEVEL == $value) ? $sSelected : '';
-	    $template->set_var('SELECTED', $selected);
-		$template->parse('error_reporting_list', 'error_reporting_list_block', true);
-	}
-
-
-	// Insert permissions values
-	if($admin->get_permission('settings_advanced') != true)
-	{
-		$template->set_var('DISPLAY_ADVANCED_BUTTON', 'hide');
-	}
-
-	// Insert page level limits
-	for($i = 1; $i <= 10; $i++)
-	{
-		$template->set_var('NUMBER', $i);
-		if(PAGE_LEVEL_LIMIT == $i)
-	    {
-			$template->set_var('SELECTED', $sSelected);
-		} else {
-			$template->set_var('SELECTED', '');
-		}
-		$template->parse('page_level_limit_list', 'page_level_limit_list_block', true);
-	}
-
-	// Work-out if multiple menus feature is enabled
-	if(defined('MULTIPLE_MENUS') && MULTIPLE_MENUS == true)
-	{
-    	$template->set_var(array(
-				'MULTIPLE_MENUS_ENABLED' => $checked,
-				'MULTIPLE_MENUS_DISABLED' => '',
+    	$oTpl->set_var(array(
+				'PRIVATE_SEARCH' => $sSelected,
+				'REGISTERED_SEARCH' => '',
+				'NONE_SEARCH' => '',
 				));
-	} else {
-    	$template->set_var(array(
-				'MULTIPLE_MENUS_DISABLED' => $checked,
-				'MULTIPLE_MENUS_ENABLED' => '',
+	} elseif(SEARCH == 'public') {
+    	$oTpl->set_var(array(
+				'PRIVATE_SEARCH' => '',
+				'REGISTERED_SEARCH' => '',
+				'NONE_SEARCH' => '',
 				));
-	}
-
-	// Work-out if page languages feature is enabled
-	if(defined('PAGE_LANGUAGES') && PAGE_LANGUAGES == true)
-	{
-    	$template->set_var(array(
-				'PAGE_LANGUAGES_ENABLED' => $checked,
-				'PAGE_LANGUAGES_DISABLED' => '',
+	} elseif(SEARCH == 'registered') {
+    	$oTpl->set_var(array(
+				'PRIVATE_SEARCH' => '',
+				'REGISTERED_SEARCH' => $sSelected,
+				'NONE_SEARCH' => '',
 				));
-	} else {
-    	$template->set_var(array(
-				'PAGE_LANGUAGES_DISABLED' => $checked,
-				'PAGE_LANGUAGES_ENABLED' => '',
+	} elseif(SEARCH == 'none') {
+    	$oTpl->set_var(array(
+				'PRIVATE_SEARCH' => '',
+				'REGISTERED_SEARCH' => '',
+				'NONE_SEARCH' => $sSelected,
 				));
 	}
 
-	// Work-out if warn_page_leave feature is enabled
-	if (defined('WARN_PAGE_LEAVE') && WARN_PAGE_LEAVE == true)
-	{
-		$template->set_var('WARN_PAGE_LEAVE_ENABLED', $checked);
-    	$template->set_var(array(
-				'WARN_PAGE_LEAVE_ENABLED' => $checked,
-				'WARN_PAGE_LEAVE_DISABLED' => '',
-				));
-	} else {
-		$template->set_var('WARN_PAGE_LEAVE_DISABLED', $checked);
-    	$template->set_var(array(
-				'MANAGE_SECTIONS_DISABLED' => $checked,
-				'WARN_PAGE_LEAVE_DISABLED' => '',
-				));
-	}
+if($is_advanced)
+{
+	$oTpl->parse('show_search', 'show_search_block');
+} else {
+	$oTpl->parse('show_search', '');
+}
 
-	// Work-out if smart login feature is enabled
-	if(defined('SMART_LOGIN') && SMART_LOGIN == true)
-	{
-		$template->set_var('SMART_LOGIN_ENABLED', $checked);
-    	$template->set_var(array(
-				'SMART_LOGIN_ENABLED' => $checked,
-				'SMART_LOGIN_DISABLED' => '',
-				));
-	} else {
-		$template->set_var('SMART_LOGIN_DISABLED', $checked);
-    	$template->set_var(array(
-				'SMART_LOGIN_DISABLED' => $checked,
-				'SMART_LOGIN_ENABLED' => '',
-				));
-	}
+    $oTpl->set_block('main_block', 'show_access_block','show_access');
+//  Work-out which wbmailer routine should be checked
+	$oTpl->set_var(array(
+		'TEXT_WBMAILER_DEFAULT_SETTINGS_NOTICE' => $TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'],
+		'TEXT_WBMAILER_DEFAULT_SENDER_MAIL' => $TEXT['WBMAILER_DEFAULT_SENDER_MAIL'],
+		'TEXT_WBMAILER_DEFAULT_SENDER_NAME' => $TEXT['WBMAILER_DEFAULT_SENDER_NAME'],
+		'TEXT_WBMAILER_NOTICE' => $TEXT['WBMAILER_NOTICE'],
+		'TEXT_WBMAILER_FUNCTION' => $TEXT['WBMAILER_FUNCTION'],
+		'TEXT_WBMAILER_SMTP_HOST' => $TEXT['WBMAILER_SMTP_HOST'],
+		'TEXT_WBMAILER_PHP' => $TEXT['WBMAILER_PHP'],
+		'TEXT_WBMAILER_SMTP' => $TEXT['WBMAILER_SMTP'],
+		'TEXT_WBMAILER_SMTP_AUTH' => $TEXT['WBMAILER_SMTP_AUTH'],
+		'TEXT_WBMAILER_SMTP_AUTH_NOTICE' => $TEXT['REQUIRED'].' '.$TEXT['WBMAILER_SMTP_AUTH'],
+		'TEXT_WBMAILER_SMTP_USERNAME' => $TEXT['WBMAILER_SMTP_USERNAME'],
+		'TEXT_WBMAILER_SMTP_PASSWORD' => $TEXT['WBMAILER_SMTP_PASSWORD'],
+		'SMTP_AUTH_SELECTED' => $checked
+		));
 
-	/* Make's sure GD library is installed */
-	if(extension_loaded('gd') && function_exists('imageCreateFromJpeg'))
-	{
-		$template->set_var('GD_EXTENSION_ENABLED', '');
-	} else {
-		$template->set_var('GD_EXTENSION_ENABLED', ' style="display: none;"');
-	}
-
-	// Work-out if section blocks feature is enabled
-	if(defined('SECTION_BLOCKS') && SECTION_BLOCKS == true)
-	{
-    	$template->set_var(array(
-				'SECTION_BLOCKS_ENABLED' => $checked,
-				'SECTION_BLOCKS_DISABLED' => '',
-				));
-	} else {
-    	$template->set_var(array(
-				'SECTION_BLOCKS_DISABLED' => $checked,
-				'SECTION_BLOCKS_ENABLED' => '',
-				));
-	}
-
-	// Work-out if homepage redirection feature is enabled
-	if(defined('HOMEPAGE_REDIRECTION') && HOMEPAGE_REDIRECTION == true)
-	{
-//		$template->set_var('HOMEPAGE_REDIRECTION_ENABLED', $checked);
-    	$template->set_var(array(
-				'HOMEPAGE_REDIRECTION_ENABLED' => $checked,
-				'HOMEPAGE_REDIRECTION_DISABLED' => '',
-				));
-	} else {
-//		$template->set_var('HOMEPAGE_REDIRECTION_DISABLED', $checked);
-    	$template->set_var(array(
-				'HOMEPAGE_REDIRECTION_DISABLED' => $checked,
-				'HOMEPAGE_REDIRECTION_ENABLED' => '',
-				));
-	}
-
-	// Work-out which server os should be checked
-	if(OPERATING_SYSTEM == 'linux')
-	{
-		$template->set_var('LINUX_SELECTED', $checked);
-	} elseif(OPERATING_SYSTEM == 'windows') {
-		$template->set_var('WINDOWS_SELECTED', $checked);
-	}
-
 	// Work-out if developer infos feature is enabled
 	if(defined('DEV_INFOS') && DEV_INFOS == true)
 	{
-		//$template->set_var('DEV_INFOS_ENABLED', $checked);
-    	$template->set_var(array(
+    	$oTpl->set_var(array(
 				'DEV_INFOS_ENABLED' => $checked,
 				'DEV_INFOS_DISABLED' => '',
 				));
 	} else {
-		//$template->set_var('DEV_INFOS_DISABLED', $checked);
-    	$template->set_var(array(
+    	$oTpl->set_var(array(
 				'DEV_INFOS_DISABLED' => $checked,
 				'DEV_INFOS_ENABLED' => '',
 				));
 	}
 
-	// Work-out if developer infos feature is enabled
-	if(defined('PAGE_EXTENDED') && PAGE_EXTENDED == true)
+//  Work-out which server os should be checked
+	if(OPERATING_SYSTEM == 'linux')
 	{
-		//$template->set_var('DEV_INFOS_ENABLED', $checked);
-    	$template->set_var(array(
-				'PAGE_EXTENDED_ENABLED' => $checked,
-				'PAGE_EXTENDED_DISABLED' => '',
-				));
-	} else {
-		//$template->set_var('PAGE_EXTENDED_DISABLED', $checked);
-    	$template->set_var(array(
-				'PAGE_EXTENDED_DISABLED' => $checked,
-				'PAGE_EXTENDED_ENABLED' => '',
-				));
+		$oTpl->set_var('LINUX_SELECTED', $checked);
+		$oTpl->set_var('WINDOWS_SELECTED', '');
+	} elseif(OPERATING_SYSTEM == 'windows') {
+		$oTpl->set_var('WINDOWS_SELECTED', $checked);
+		$oTpl->set_var('LINUX_SELECTED', '');
 	}
 
-	// Work-out if manage sections feature is enabled
-	if(MANAGE_SECTIONS)
-	{
-    	$template->set_var(array(
-				'MANAGE_SECTIONS_ENABLED' => $checked,
-				'MANAGE_SECTIONS_DISABLED' => '',
-				));
-	} else {
-    	$template->set_var(array(
-				'MANAGE_SECTIONS_DISABLED' => $checked,
-				'MANAGE_SECTIONS_ENABLED' => '',
-				));
-	}
-
-	// Work-out which wbmailer routine should be checked
-	$template->set_var(array(
-				'TEXT_WBMAILER_DEFAULT_SETTINGS_NOTICE' => $TEXT['WBMAILER_DEFAULT_SETTINGS_NOTICE'],
-				'TEXT_WBMAILER_DEFAULT_SENDER_MAIL' => $TEXT['WBMAILER_DEFAULT_SENDER_MAIL'],
-				'TEXT_WBMAILER_DEFAULT_SENDER_NAME' => $TEXT['WBMAILER_DEFAULT_SENDER_NAME'],
-				'TEXT_WBMAILER_NOTICE' => $TEXT['WBMAILER_NOTICE'],
-				'TEXT_WBMAILER_FUNCTION' => $TEXT['WBMAILER_FUNCTION'],
-				'TEXT_WBMAILER_SMTP_HOST' => $TEXT['WBMAILER_SMTP_HOST'],
-				'TEXT_WBMAILER_PHP' => $TEXT['WBMAILER_PHP'],
-				'TEXT_WBMAILER_SMTP' => $TEXT['WBMAILER_SMTP'],
-				'TEXT_WBMAILER_SMTP_AUTH' => $TEXT['WBMAILER_SMTP_AUTH'],
-				'TEXT_WBMAILER_SMTP_AUTH_NOTICE' => $TEXT['REQUIRED'].' '.$TEXT['WBMAILER_SMTP_AUTH'],
-				'TEXT_WBMAILER_SMTP_USERNAME' => $TEXT['WBMAILER_SMTP_USERNAME'],
-				'TEXT_WBMAILER_SMTP_PASSWORD' => $TEXT['WBMAILER_SMTP_PASSWORD'],
-				'SMTP_AUTH_SELECTED' => $checked
-				));
 	if(WBMAILER_ROUTINE == 'phpmail')
 	{
-		$template->set_var('PHPMAIL_SELECTED', $checked);
-		$template->set_var('SMTP_VISIBILITY', ' style="display: none;"');
-		$template->set_var('SMTP_VISIBILITY_AUTH', '');
-		// $template->set_var('SMTP_AUTH_SELECTED', '');
+		$oTpl->set_var('PHPMAIL_SELECTED', $checked);
+		$oTpl->set_var('SMTP_VISIBILITY', ' style="display: none;"');
+//		$oTpl->set_var('SMTP_VISIBILITY_AUTH', '');
+		$oTpl->set_var('SMTP_AUTH_SELECTED', '');
+		$oTpl->set_var('SMTPMAIL_SELECTED',  '');
 	} elseif(WBMAILER_ROUTINE == 'smtp')
 	{
-		$template->set_var('SMTPMAIL_SELECTED', $checked);
-		$template->set_var('SMTP_VISIBILITY', '');
-		$template->set_var('SMTP_VISIBILITY_AUTH', '');
+		$oTpl->set_var('SMTPMAIL_SELECTED', $checked);
+		$oTpl->set_var('PHPMAIL_SELECTED', '');
+		$oTpl->set_var('SMTP_VISIBILITY', '');
+//		$oTpl->set_var('SMTP_VISIBILITY_AUTH', '');
 	}
 /* deprecated
 	// Work-out if SMTP authentification should be checked
 	if(WBMAILER_SMTP_AUTH)
 	{
-		$template->set_var('SMTP_AUTH_SELECTED', $checked);
+		$oTpl->set_var('SMTP_AUTH_SELECTED', $checked);
 		if(WBMAILER_ROUTINE == 'smtp')
 	    {
-			$template->set_var('SMTP_VISIBILITY_AUTH', '');
+			$oTpl->set_var('SMTP_VISIBILITY_AUTH', '');
 
 		} else {
-			$template->set_var('SMTP_VISIBILITY_AUTH', ' style="display: none;"');
+			$oTpl->set_var('SMTP_VISIBILITY_AUTH', ' style="display: none;"');
 		}
 	} else {
-		$template->set_var('SMTP_VISIBILITY_AUTH', ' style="display: none;"');
+		$oTpl->set_var('SMTP_VISIBILITY_AUTH', ' style="display: none;"');
 	}
 */
-	// Work-out if intro feature is enabled
-	if(INTRO_PAGE)
-	{
-    	$template->set_var(array(
-				'INTRO_PAGE_ENABLED' => $checked,
-				'INTRO_PAGE_DISABLED' => '',
-				));
-	} else {
-    	$template->set_var(array(
-				'INTRO_PAGE_DISABLED' => $checked,
-				'INTRO_PAGE_ENABLED' => '',
-				));
-	}
 
-	// Work-out if frontend login feature is enabled
-	if(FRONTEND_LOGIN)
+	// Work-out if 777 permissions are set
+	$oTpl->set_var('WORLD_WRITEABLE_SELECTED', '');
+	if(STRING_FILE_MODE == '0777' AND STRING_DIR_MODE == '0777')
 	{
-    	$template->set_var(array(
-				'PRIVATE_ENABLED' => $checked,
-				'PRIVATE_DISABLED' => '',
-				));
-	} else {
-    	$template->set_var(array(
-				'PRIVATE_DISABLED' => $checked,
-				'INTRO_PAGE_ENABLED' => '',
-				));
+		$oTpl->set_var('WORLD_WRITEABLE_SELECTED', $checked);
 	}
-	// Work-out if frontend login feature is enabled
 
-	if(CONFIRMED_REGISTRATION)
-	{
-    	$template->set_var(array(
-				'CONFIRMED_REGISTRATION_ENABLED' => $checked,
-				'CONFIRMED_REGISTRATION_DISABLED' => '',
-				));
-	} else {
-    	$template->set_var(array(
-				'CONFIRMED_REGISTRATION_DISABLED' => $checked,
-				'CONFIRMED_REGISTRATION_ENABLED' => '',
-				));
-	}
 
-	// Work-out if page trash feature is disabled, in-line, or separate
-	if(PAGE_TRASH == 'disabled')
-	{
-//		$template->set_var('PAGE_TRASH_DISABLED', $checked);
-//		$template->set_var('DISPLAY_PAGE_TRASH_SEPARATE', 'display: none;');
-    	$template->set_var(array(
-				'PAGE_TRASH_DISABLED' => $checked,
-				'PAGE_TRASH_INLINE' => '',
-				'DISPLAY_PAGE_TRASH_SEPARATE' => 'display: none;',
-				));
-	} elseif(PAGE_TRASH == 'inline')
-	{
-//		$template->set_var('PAGE_TRASH_INLINE', $checked);
-//		$template->set_var('DISPLAY_PAGE_TRASH_SEPARATE', 'display: none;');
-    	$template->set_var(array(
-				'PAGE_TRASH_INLINE' => $checked,
-				'PAGE_TRASH_DISABLED' => '',
-				'DISPLAY_PAGE_TRASH_SEPARATE' => 'display: none;',
-				));
-	} elseif(PAGE_TRASH == 'separate')
-	{
-		$template->set_var('PAGE_TRASH_SEPARATE', $checked);
-		$template->set_var('DISPLAY_PAGE_TRASH_SEPARATE', 'display: inline;');
-	}
+	$oTpl->set_var(array(
+		'FILE_U_R_CHECKED' => '',
+		'FILE_U_W_CHECKED' => '',
+		'FILE_U_E_CHECKED' => '',
+		'FILE_G_R_CHECKED' => '',
+		'FILE_G_W_CHECKED' => '',
+		'FILE_G_E_CHECKED' => '',
+		'FILE_O_R_CHECKED' => '',
+		'FILE_O_W_CHECKED' => '',
+		'FILE_O_E_CHECKED' => '',
+		'DIR_U_R_CHECKED' => '',
+		'DIR_U_W_CHECKED' => '',
+		'DIR_U_E_CHECKED' => '',
+		'DIR_G_R_CHECKED' => '',
+		'DIR_G_W_CHECKED' => '',
+		'DIR_G_E_CHECKED' => '',
+		'DIR_O_R_CHECKED' => '',
+		'DIR_O_W_CHECKED' => '',
+		'DIR_O_E_CHECKED' => '',
+		));
 
-	// Work-out if media home folde feature is enabled
-	if(HOME_FOLDERS)
-	{
-    	$template->set_var(array(
-				'HOME_FOLDERS_ENABLED' => $checked,
-				'HOME_FOLDERS_DISABLED' => '',
-				));
-	} else {
-    	$template->set_var(array(
-				'HOME_FOLDERS_DISABLED' => $checked,
-				'HOME_FOLDERS_ENABLED' => '',
-				));
-	}
-
-	// Insert search select
-	if(SEARCH == 'private')
-	{
-    	$template->set_var(array(
-				'PRIVATE_SEARCH' => $sSelected,
-				'REGISTERED_SEARCH' => '',
-				'NONE_SEARCH' => '',
-				));
-	} elseif(SEARCH == 'public') {
-    	$template->set_var(array(
-				'PRIVATE_SEARCH' => '',
-				'REGISTERED_SEARCH' => '',
-				'NONE_SEARCH' => '',
-				));
-	} elseif(SEARCH == 'registered') {
-    	$template->set_var(array(
-				'PRIVATE_SEARCH' => '',
-				'REGISTERED_SEARCH' => $sSelected,
-				'NONE_SEARCH' => '',
-				));
-	} elseif(SEARCH == 'none') {
-    	$template->set_var(array(
-				'PRIVATE_SEARCH' => '',
-				'REGISTERED_SEARCH' => '',
-				'NONE_SEARCH' => $sSelected,
-				));
-	}
-
-	// Work-out if 777 permissions are set
-	$template->set_var('WORLD_WRITEABLE_SELECTED', '');
-	if(STRING_FILE_MODE == '0777' AND STRING_DIR_MODE == '0777')
-	{
-		$template->set_var('WORLD_WRITEABLE_SELECTED', $checked);
-	}
-
-	// Work-out which file mode boxes are checked
+//  Work-out which file mode boxes are checked
 	if(extract_permission(STRING_FILE_MODE, 'u', 'r'))
 	{
-		$template->set_var('FILE_U_R_CHECKED', $checked);
+		$oTpl->set_var('FILE_U_R_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_FILE_MODE, 'u', 'w'))
 	{
-		$template->set_var('FILE_U_W_CHECKED', $checked);
+		$oTpl->set_var('FILE_U_W_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_FILE_MODE, 'u', 'e'))
 	{
-		$template->set_var('FILE_U_E_CHECKED', $checked);
+		$oTpl->set_var('FILE_U_E_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_FILE_MODE, 'g', 'r'))
 	{
-		$template->set_var('FILE_G_R_CHECKED', $checked);
+		$oTpl->set_var('FILE_G_R_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_FILE_MODE, 'g', 'w'))
 	{
-		$template->set_var('FILE_G_W_CHECKED', $checked);
+		$oTpl->set_var('FILE_G_W_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_FILE_MODE, 'g', 'e'))
 	{
-		$template->set_var('FILE_G_E_CHECKED', $checked);
+		$oTpl->set_var('FILE_G_E_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_FILE_MODE, 'o', 'r'))
 	{
-		$template->set_var('FILE_O_R_CHECKED', $checked);
+		$oTpl->set_var('FILE_O_R_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_FILE_MODE, 'o', 'w'))
 	{
-		$template->set_var('FILE_O_W_CHECKED', $checked);
+		$oTpl->set_var('FILE_O_W_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_FILE_MODE, 'o', 'e'))
 	{
-		$template->set_var('FILE_O_E_CHECKED', $checked);
+		$oTpl->set_var('FILE_O_E_CHECKED', $checked);
 	}
 	// Work-out which dir mode boxes are checked
 	if(extract_permission(STRING_DIR_MODE, 'u', 'r'))
 	{
-		$template->set_var('DIR_U_R_CHECKED', $checked);
+		$oTpl->set_var('DIR_U_R_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_DIR_MODE, 'u', 'w'))
 	{
-		$template->set_var('DIR_U_W_CHECKED', $checked);
+		$oTpl->set_var('DIR_U_W_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_DIR_MODE, 'u', 'e'))
 	{
-		$template->set_var('DIR_U_E_CHECKED', $checked);
+		$oTpl->set_var('DIR_U_E_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_DIR_MODE, 'g', 'r'))
 	{
-		$template->set_var('DIR_G_R_CHECKED', $checked);
+		$oTpl->set_var('DIR_G_R_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_DIR_MODE, 'g', 'w'))
 	{
-		$template->set_var('DIR_G_W_CHECKED', $checked);
+		$oTpl->set_var('DIR_G_W_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_DIR_MODE, 'g', 'e'))
 	{
-		$template->set_var('DIR_G_E_CHECKED', $checked);
+		$oTpl->set_var('DIR_G_E_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_DIR_MODE, 'o', 'r'))
 	{
-		$template->set_var('DIR_O_R_CHECKED', $checked);
+		$oTpl->set_var('DIR_O_R_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_DIR_MODE, 'o', 'w'))
 	{
-		$template->set_var('DIR_O_W_CHECKED', $checked);
+		$oTpl->set_var('DIR_O_W_CHECKED', $checked);
 	}
 	if(extract_permission(STRING_DIR_MODE, 'o', 'e'))
 	{
-		$template->set_var('DIR_O_E_CHECKED', $checked);
+		$oTpl->set_var('DIR_O_E_CHECKED', $checked);
 	}
 
-	$template->set_var(array(
-						'PAGES_DIRECTORY' => PAGES_DIRECTORY,
-						'MODULES_DIRECTORY' => MODULES_UPGRADE_LIST,
-						'PAGE_ICON_DIR'   => PAGE_ICON_DIR,
-						'MEDIA_DIRECTORY' => MEDIA_DIRECTORY,
-						'PAGE_EXTENSION' => PAGE_EXTENSION,
-						'PAGE_SPACER' => PAGE_SPACER,
-						'TABLE_PREFIX' => TABLE_PREFIX
-					 ));
+	$oTpl->set_var(array(
+		'PAGES_DIRECTORY' => PAGES_DIRECTORY,
+		'MODULES_DIRECTORY' => MODULES_UPGRADE_LIST,
+		'PAGE_ICON_DIR'   => PAGE_ICON_DIR,
+		'MEDIA_DIRECTORY' => MEDIA_DIRECTORY,
+		'PAGE_EXTENSION' => PAGE_EXTENSION,
+		'PAGE_SPACER' => PAGE_SPACER,
+		'TABLE_PREFIX' => TABLE_PREFIX
+	 ));
 
 	// Insert Server Email value into template
-	$template->set_var('SERVER_EMAIL', SERVER_EMAIL);
+	$oTpl->set_var('SERVER_EMAIL', SERVER_EMAIL);
 
-	// Insert groups into signup list
-	$results = $database->query("SELECT group_id, name FROM ".TABLE_PREFIX."groups WHERE group_id != '1'");
-	if($results->numRows() > 0)
-	{
-		while($group = $results->fetchRow())
-	    {
-			$template->set_var('ID', $group['group_id']);
-			$template->set_var('NAME', $group['name']);
-			if(FRONTEND_SIGNUP == $group['group_id'])
-	        {
-				$template->set_var('SELECTED', $sSelected);
-			} else {
-				$template->set_var('SELECTED', '');
-			}
-			$template->parse('group_list', 'group_list_block', true);
-		}
-	} else {
-		$template->set_var('ID', 'disabled');
-		$template->set_var('NAME', $MESSAGE['GROUPS']['NO_GROUPS_FOUND']);
-		$template->parse('group_list', 'group_list_block', true);
-	}
+// Insert language text and messages
+	$oTpl->set_var(array(
+		'TEXT_DEV_INFOS' => $TEXT['DEV_INFOS'],
+		'TEXT_PAGES_DIRECTORY' => $TEXT['PAGES_DIRECTORY'],
+		'TEXT_PAGE_ICON_DIR' => $TEXT['PAGE_ICON_DIR'],
+		'TEXT_MEDIA_DIRECTORY' => $TEXT['MEDIA_DIRECTORY'],
+		'TEXT_PAGE_EXTENSION' => $TEXT['PAGE_EXTENSION'],
+		'TEXT_PAGE_SPACER' => $TEXT['PAGE_SPACER'],
+		'TEXT_RENAME_FILES_ON_UPLOAD' => $TEXT['RENAME_FILES_ON_UPLOAD'],
+		'TEXT_APP_NAME' => $TEXT['APP_NAME'],
+		'TEXT_SESSION_IDENTIFIER' => $TEXT['SESSION_IDENTIFIER'],
+		'TEXT_SEC_ANCHOR' => $TEXT['SEC_ANCHOR'],
+		'TEXT_SERVER_OPERATING_SYSTEM' => $TEXT['SERVER_OPERATING_SYSTEM'],
+		'TEXT_LINUX_UNIX_BASED' => $TEXT['LINUX_UNIX_BASED'],
+		'TEXT_WINDOWS' => $TEXT['WINDOWS'],
+		'TEXT_ADMIN' => $TEXT['ADMIN'],
+		'TEXT_TYPE' => $TEXT['TYPE'],
+		'TEXT_DATABASE' => $TEXT['DATABASE'],
+		'TEXT_HOST' => $TEXT['HOST'],
+		'TEXT_USERNAME' => $TEXT['USERNAME'],
+		'TEXT_PASSWORD' => $TEXT['PASSWORD'],
+		'TEXT_NAME' => $TEXT['NAME'],
+		'TEXT_TABLE_PREFIX' => $TEXT['TABLE_PREFIX'],
+		'TEXT_CHANGES' => $TEXT['CHANGES'],
+		'TEXT_FILES' => strtoupper(substr($TEXT['FILES'], 0, 1)).substr($TEXT['FILES'], 1),
+		'TEXT_DIRECTORIES' => $TEXT['DIRECTORIES'],
+		'TEXT_FILESYSTEM_PERMISSIONS' => $TEXT['FILESYSTEM_PERMISSIONS'],
+		'TEXT_USER' => $TEXT['USER'],
+		'TEXT_GROUP' => $TEXT['GROUP'],
+		'TEXT_OTHERS' => $TEXT['OTHERS'],
+		'TEXT_READ' => $TEXT['READ'],
+		'TEXT_WRITE' => $TEXT['WRITE'],
+		'TEXT_EXECUTE' => $TEXT['EXECUTE'],
+		'TEXT_WARN_PAGE_LEAVE' => '',
+		'TEXT_WORLD_WRITEABLE_FILE_PERMISSIONS' => $TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'],
+		'MODE_SWITCH_WARNING' => $MESSAGE['SETTINGS_MODE_SWITCH_WARNING'],
+		'WORLD_WRITEABLE_WARNING' => $MESSAGE['SETTINGS_WORLD_WRITEABLE_WARNING'],
+		));
 
-	// Insert language headings
-	$template->set_var(array(
-					'HEADING_GENERAL_SETTINGS' => $HEADING['GENERAL_SETTINGS'],
-					'HEADING_DEFAULT_SETTINGS' => $HEADING['DEFAULT_SETTINGS'],
-					'HEADING_SEARCH_SETTINGS' => $HEADING['SEARCH_SETTINGS'],
-					'HEADING_SERVER_SETTINGS' => $HEADING['SERVER_SETTINGS'],
-					'HEADING_WBMAILER_SETTINGS' => $HEADING['WBMAILER_SETTINGS'],
-					'HEADING_ADMINISTRATION_TOOLS' => $HEADING['ADMINISTRATION_TOOLS']
-					)
-			);
-	// Insert language text and messages
-	$template->set_var(array(
-					'TEXT_WEBSITE_TITLE' => $TEXT['WEBSITE_TITLE'],
-					'TEXT_WEBSITE_DESCRIPTION' => $TEXT['WEBSITE_DESCRIPTION'],
-					'TEXT_WEBSITE_KEYWORDS' => $TEXT['WEBSITE_KEYWORDS'],
-					'TEXT_WEBSITE_HEADER' => $TEXT['WEBSITE_HEADER'],
-					'TEXT_WEBSITE_FOOTER' => $TEXT['WEBSITE_FOOTER'],
-					'TEXT_HEADER' => $TEXT['HEADER'],
-					'TEXT_FOOTER' => $TEXT['FOOTER'],
-					'TEXT_VISIBILITY' => $TEXT['VISIBILITY'],
-					'TEXT_RESULTS_HEADER' => $TEXT['RESULTS_HEADER'],
-					'TEXT_RESULTS_LOOP' => $TEXT['RESULTS_LOOP'],
-					'TEXT_RESULTS_FOOTER' => $TEXT['RESULTS_FOOTER'],
-					'TEXT_NO_RESULTS' => $TEXT['NO_RESULTS'],
-					'TEXT_TEXT' => $TEXT['TEXT'],
-					'TEXT_DEFAULT' => $TEXT['DEFAULT'],
-					'TEXT_LANGUAGE' => $TEXT['LANGUAGE'],
-					'TEXT_TIMEZONE' => $TEXT['TIMEZONE'],
-					'TEXT_CHARSET' => $TEXT['CHARSET'],
-					'TEXT_DATE_FORMAT' => $TEXT['DATE_FORMAT'],
-					'TEXT_TIME_FORMAT' => $TEXT['TIME_FORMAT'],
-					'TEXT_TEMPLATE' => $TEXT['TEMPLATE'],
-					'TEXT_THEME' => $TEXT['THEME'],
-					'TEXT_WYSIWYG_EDITOR' => $TEXT['WYSIWYG_EDITOR'],
-					'TEXT_PAGE_LEVEL_LIMIT' => $TEXT['PAGE_LEVEL_LIMIT'],
-					'TEXT_INTRO_PAGE' => $TEXT['INTRO_PAGE'],
-					'TEXT_FRONTEND' => $TEXT['FRONTEND'],
-					'TEXT_LOGIN' => $TEXT['LOGIN'],
-					'TEXT_REDIRECT_AFTER' => $TEXT['REDIRECT_AFTER'],
-					'TEXT_SIGNUP' => $TEXT['SIGNUP'].' '.$TEXT['GROUP'],
-					'TEXT_PHP_ERROR_LEVEL' => $TEXT['PHP_ERROR_LEVEL'],
-					'TEXT_MULTILINGUAL' => $TEXT['MULTILINGUAL'],
-					'TEXT_DEV_INFOS' => $TEXT['DEV_INFOS'],
-					'TEXT_PAGES_DIRECTORY' => $TEXT['PAGES_DIRECTORY'],
-					'TEXT_PAGE_ICON_DIR' => $TEXT['PAGE_ICON_DIR'],
-					'TEXT_MEDIA_DIRECTORY' => $TEXT['MEDIA_DIRECTORY'],
-					'TEXT_PAGE_EXTENSION' => $TEXT['PAGE_EXTENSION'],
-					'TEXT_PAGE_SPACER' => $TEXT['PAGE_SPACER'],
-					'TEXT_RENAME_FILES_ON_UPLOAD' => $TEXT['RENAME_FILES_ON_UPLOAD'],
-					'TEXT_APP_NAME' => $TEXT['APP_NAME'],
-					'TEXT_SESSION_IDENTIFIER' => $TEXT['SESSION_IDENTIFIER'],
-					'TEXT_SEC_ANCHOR' => $TEXT['SEC_ANCHOR'],
-					'TEXT_SERVER_OPERATING_SYSTEM' => $TEXT['SERVER_OPERATING_SYSTEM'],
-					'TEXT_LINUX_UNIX_BASED' => $TEXT['LINUX_UNIX_BASED'],
-					'TEXT_WINDOWS' => $TEXT['WINDOWS'],
-					'TEXT_ADMIN' => $TEXT['ADMIN'],
-					'TEXT_TYPE' => $TEXT['TYPE'],
-					'TEXT_DATABASE' => $TEXT['DATABASE'],
-					'TEXT_HOST' => $TEXT['HOST'],
-					'TEXT_USERNAME' => $TEXT['USERNAME'],
-					'TEXT_PASSWORD' => $TEXT['PASSWORD'],
-					'TEXT_NAME' => $TEXT['NAME'],
-					'TEXT_TABLE_PREFIX' => $TEXT['TABLE_PREFIX'],
-					'TEXT_SAVE' => $TEXT['SAVE'],
-					'TEXT_RESET' => $TEXT['RESET'],
-					'TEXT_CHANGES' => $TEXT['CHANGES'],
-					'TEXT_ENABLED' => $TEXT['ENABLED'],
-					'TEXT_DISABLED' => $TEXT['DISABLED'],
-					'TEXT_MANAGE_SECTIONS' => $HEADING['MANAGE_SECTIONS'],
-					'TEXT_MANAGE' => $TEXT['MANAGE'],
-					'TEXT_SEARCH' => $TEXT['SEARCH'],
-					'TEXT_PUBLIC' => $TEXT['PUBLIC'],
-					'TEXT_PRIVATE' => $TEXT['PRIVATE'],
-					'TEXT_REGISTERED' => $TEXT['REGISTERED'],
-					'TEXT_NONE' => $TEXT['NONE'],
-					'TEXT_FILES' => strtoupper(substr($TEXT['FILES'], 0, 1)).substr($TEXT['FILES'], 1),
-					'TEXT_DIRECTORIES' => $TEXT['DIRECTORIES'],
-					'TEXT_FILESYSTEM_PERMISSIONS' => $TEXT['FILESYSTEM_PERMISSIONS'],
-					'TEXT_USER' => $TEXT['USER'],
-					'TEXT_GROUP' => $TEXT['GROUP'],
-					'TEXT_OTHERS' => $TEXT['OTHERS'],
-					'TEXT_READ' => $TEXT['READ'],
-					'TEXT_WRITE' => $TEXT['WRITE'],
-					'TEXT_EXECUTE' => $TEXT['EXECUTE'],
-					'TEXT_WARN_PAGE_LEAVE' => '',
-					'TEXT_SMART_LOGIN' => $TEXT['SMART_LOGIN'],
-					'TEXT_MULTIPLE_MENUS' => $TEXT['MULTIPLE_MENUS'],
-					'TEXT_HOMEPAGE_REDIRECTION' => $TEXT['HOMEPAGE_REDIRECTION'],
-					'TEXT_SECTION_BLOCKS' => $TEXT['SECTION_BLOCKS'],
-					'TEXT_PLEASE_SELECT' => $TEXT['PLEASE_SELECT'],
-					'TEXT_PAGE_TRASH' => $TEXT['PAGE_TRASH'],
-					'TEXT_PAGE_LANGUAGES' => $TEXT['PAGE_LANGUAGES'],
-					'TEXT_INLINE' => $TEXT['INLINE'],
-					'TEXT_SEPARATE' => $TEXT['SEPARATE'],
-					'TEXT_HOME_FOLDERS' => $TEXT['HOME_FOLDERS'],
-					'TEXT_WYSIWYG_STYLE' => $TEXT['WYSIWYG_STYLE'],
-					'TEXT_WORLD_WRITEABLE_FILE_PERMISSIONS' => $TEXT['WORLD_WRITEABLE_FILE_PERMISSIONS'],
-					'MODE_SWITCH_WARNING' => $MESSAGE['SETTINGS_MODE_SWITCH_WARNING'],
-					'WORLD_WRITEABLE_WARNING' => $MESSAGE['SETTINGS_WORLD_WRITEABLE_WARNING'],
-					'TEXT_MODULE_ORDER' => $TEXT['MODULE_ORDER'],
-					'TEXT_MAX_EXCERPT' => $TEXT['MAX_EXCERPT'],
-					'TEXT_TIME_LIMIT' => $TEXT['TIME_LIMIT']
-					));
-
-if($is_advanced)
-{
-	$template->parse('show_page_level_limit', 'show_page_level_limit_block', true);
-	$template->parse('show_checkbox_1',       'show_checkbox_1_block', true);
- 	$template->parse('show_checkbox_2',       'show_checkbox_2_block', true);
-	$template->parse('show_checkbox_3',       'show_checkbox_3_block', true);
-	$template->parse('show_php_error_level',  'show_php_error_level_block', true);
-	$template->parse('show_charset',          'show_charset_block', true);
-	$template->parse('show_wysiwyg',          'show_wysiwyg_block', true);
-	$template->parse('show_search',           'show_search_block', false);
-	$template->parse('show_redirect_timer',   'show_redirect_timer_block', true);
-}else {
-	$template->set_block('show_page_level_limit', '');
-	$template->set_block('show_checkbox_1', '');
-	$template->set_block('show_checkbox_2', '');
-	$template->set_block('show_checkbox_3', '');
-	$template->set_block('show_php_error_level', '');
-	$template->set_block('show_charset', '');
-	$template->set_block('show_wysiwyg', '');
-	$template->set_block('show_search', '');
-	$template->set_block('show_redirect_timer', '');
-}
 if($is_advanced && $admin->get_user_id()=='1')
 {
-	$template->parse('show_access', 'show_access_block', true);
+	$oTpl->parse('show_access', 'show_access_block');
 }else {
-	$template->set_block('show_access', '');
+	$oTpl->parse('show_access' , '');
 }
 
 // Parse template objects output
-$template->parse('main', 'main_block', false);
-$template->pparse('output', 'page');
-unset($template);
+$oTpl->parse('main', 'main_block',false);
+$oTpl->pparse('output', 'page');
+//$oTpl->p('page');
+unset($oTpl);
 $admin->print_footer();
Index: branches/2.8.x/wb/account/signup_mails.php
===================================================================
--- branches/2.8.x/wb/account/signup_mails.php	(revision 1776)
+++ branches/2.8.x/wb/account/signup_mails.php	(revision 1777)
@@ -17,9 +17,9 @@
 
 /* -------------------------------------------------------- */
 // Must include code to stop this file being accessed directly
-if(defined('WB_PATH') == false)
-{
-	die('<h2 style="color:red;margin:3em auto;text-align:center;">Cannot access this file directly</h2>');
+if(!defined('WB_PATH')) {
+	require_once(dirname(dirname(__FILE__)).'/framework/globalExceptionHandler.php');
+	throw new IllegalFileException();
 }
 /* -------------------------------------------------------- */
 
Index: branches/2.8.x/wb/account/confirm.php
===================================================================
--- branches/2.8.x/wb/account/confirm.php	(revision 1776)
+++ branches/2.8.x/wb/account/confirm.php	(revision 1777)
@@ -24,7 +24,7 @@
 //require_once(dirname(__FILE__).'/AccountSignup.php');
 
 // load module language file
-$sAutoLanguage = isset($_SESSION['language']) ? $_SESSION['language'] : AccountSignup::GetBowserLanguage(DEFAULT_LANGUAGE);
+$sAutoLanguage = isset($_SESSION['LANGUAGE']) ? $_SESSION['LANGUAGE'] : AccountSignup::GetBowserLanguage(DEFAULT_LANGUAGE);
 
 $mLang = ModLanguage::getInstance();
 $mLang->setLanguage(dirname(__FILE__).'/languages/', $sAutoLanguage, DEFAULT_LANGUAGE);
Index: branches/2.8.x/wb/account/password.php
===================================================================
--- branches/2.8.x/wb/account/password.php	(revision 1776)
+++ branches/2.8.x/wb/account/password.php	(revision 1777)
@@ -17,10 +17,9 @@
 
 /* -------------------------------------------------------- */
 // 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>');
+if(!defined('WB_PATH')) {
+	require_once(dirname(dirname(__FILE__)).'/framework/globalExceptionHandler.php');
+	throw new IllegalFileException();
 }
 /* -------------------------------------------------------- */
 
Index: branches/2.8.x/wb/account/htt/preferences.htt
===================================================================
--- branches/2.8.x/wb/account/htt/preferences.htt	(revision 1776)
+++ branches/2.8.x/wb/account/htt/preferences.htt	(revision 1777)
@@ -1,9 +1,9 @@
 <!-- BEGIN main_block -->
 <!-- BEGIN success_block -->
-	{SUCCESS_VALUE}
+{SUCCESS_VALUE}
 <!-- END success_block -->
 <!-- BEGIN error_block -->
-	{ERROR_VALUE}
+{ERROR_VALUE}
 <!-- END error_block -->
 <hr />
 <div class="account">
@@ -10,132 +10,132 @@
 
 <div class="details">
 <h3>{HEADING_MY_SETTINGS}</h3>
-<form name="details" action="" method="post">
-	<table>
-		<tr>
-			<td>{TEXT_DISPLAY_NAME}:</td>
-			<td class="input">
-				<input class="display_name" type="text" name="display_name" value="{DISPLAY_NAME}" readonly="readonly" />
-			</td>
-		</tr>
-		<tr>
-			<td>{TEXT_LANGUAGE}:</td>
-			<td class="input">
-				<select name="language" id="language">
-					<!-- BEGIN language_list_block -->
-						<option value="{CODE}"{SELECTED} style="background: url({FLAG}.png) no-repeat center left; padding-left: 20px;">{NAME} ({CODE})</option>
-					<!-- END language_list_block -->
-				</select>
-			</td>
-		</tr>
-		<tr>
-			<td>{TEXT_TIMEZONE}:</td>
-			<td class="input">
-				<select name="timezone" style="width: 98%;">
-					<option value="-20">{MOD_PREFERENCE_PLEASE_SELECT}</option>
+<form name="details" action="{ACTION_URL}" method="post">
+<table>
+<tr>
+<td>{TEXT_DISPLAY_NAME}:</td>
+<td class="input">
+<input class="display_name" type="text" name="display_name" value="{DISPLAY_NAME}" readonly="readonly" />
+</td>
+</tr>
+<tr>
+<td>{TEXT_LANGUAGE}:</td>
+<td class="input">
+<select name="language" id="language">
+<!-- BEGIN language_list_block -->
+<option value="{CODE}"{SELECTED} style="background: url({FLAG}.png) no-repeat center left; padding-left: 20px;">{NAME} ({CODE})</option>
+<!-- END language_list_block -->
+</select>
+</td>
+</tr>
+<tr>
+<td>{TEXT_TIMEZONE}:</td>
+<td class="input">
+<select name="timezone" style="width: 98%;">
+<option value="-20">{MOD_PREFERENCE_PLEASE_SELECT}</option>
 <!-- BEGIN timezone_list_block -->
-					<option value="{VALUE}" {SELECTED}>{NAME}</option>
+<option value="{VALUE}" {SELECTED}>{NAME}</option>
 <!-- END timezone_list_block -->
-				</select>
-			</td>
-		</tr>
-		<tr>
-			<td>{TEXT_DATE_FORMAT}:</td>
-			<td class="input">
-				<select name="date_format" style="width: 98%;">
-					<option value="">{MOD_PREFERENCE_PLEASE_SELECT}</option>
+</select>
+</td>
+</tr>
+<tr>
+<td>{TEXT_DATE_FORMAT}:</td>
+<td class="input">
+<select name="date_format" style="width: 98%;">
+<option value="">{MOD_PREFERENCE_PLEASE_SELECT}</option>
 <!-- BEGIN date_format_list_block -->
-					<option value="{VALUE}" {SELECTED}>{NAME}</option>
+<option value="{VALUE}" {SELECTED}>{NAME}</option>
 <!-- END date_format_list_block -->
-				</select>
-			</td>
-		</tr>
-		<tr>
-			<td>{TEXT_TIME_FORMAT}:</td>
-			<td class="input">
-				<select name="time_format" style="width: 98%;">
-					<option value="">{MOD_PREFERENCE_PLEASE_SELECT}</option>
+</select>
+</td>
+</tr>
+<tr>
+<td>{TEXT_TIME_FORMAT}:</td>
+<td class="input">
+<select name="time_format" style="width: 98%;">
+<option value="">{MOD_PREFERENCE_PLEASE_SELECT}</option>
 <!-- BEGIN time_format_list_block -->
-					<option value="{VALUE}" {SELECTED}>{NAME}</option>
+<option value="{VALUE}" {SELECTED}>{NAME}</option>
 <!-- END time_format_list_block -->
-				</select>
-			</td>
-		</tr>
-        <tr>
-        	<td colspan="2">&nbsp;</td>
-        </tr>
-		<tr>
-			<td colspan="2" class="button">
-				<button type="reset" name="reset" value="reset">{TEXT_RESET}</button>
-				<button type="submit" name="action" value="details">{MOD_PREFERENCE_SAVE_SETTINGS}</button>
-            	<button type="button" value="cancel" onclick="javascript:window.location='{HTTP_REFERER}';">{TEXT_CANCEL}</button>
-			</td>
-		</tr>
-	</table>
+</select>
+</td>
+</tr>
+<tr>
+<td colspan="2">&nbsp;</td>
+</tr>
+<tr>
+<td colspan="2" class="button">
+<button type="reset" name="reset" value="reset">{TEXT_RESET}</button>
+<button type="submit" name="action" value="details">{MOD_PREFERENCE_SAVE_SETTINGS}</button>
+<button type="button" value="cancel" onclick="javascript:window.location='{HTTP_REFERER}';">{TEXT_CANCEL}</button>
+</td>
+</tr>
+</table>
 </form>
 </div>
 <div class="email">
 <h3>{HEADING_MY_EMAIL}</h3>
 <form name="email" action="" method="post">
-	<table>
-		<tr>
-			<td>{TEXT_EMAIL}:</td>
-			<td class="input">
-				<input type="text" name="email" value="{EMAIL}" style="width: 98%;" />
-			</td>
-		</tr>
-		<tr>
-			<td>{TEXT_CURRENT_PASSWORD}:</td>
-			<td class="input">
-				<input type="password" name="current_password" style="width: 98%;" />
-			</td>
-		</tr>
-        <tr>
-        	<td colspan="2">&nbsp;</td>
-        </tr>
-		<tr>
-			<td colspan="2" class="button">
-				<button type="reset" name="reset" value="reset">{TEXT_RESET}</button>
-				<button type="submit" name="action" value="email">{MOD_PREFERENCE_SAVE_EMAIL}</button>
-            	<button type="button" value="cancel" onclick="javascript:window.location='{HTTP_REFERER}';">{TEXT_CANCEL}</button>
-			</td>
-		</tr>
-	</table>
+<table>
+<tr>
+<td>{TEXT_EMAIL}:</td>
+<td class="input">
+<input type="text" name="email" value="{EMAIL}" style="width: 98%;" />
+</td>
+</tr>
+<tr>
+<td>{TEXT_CURRENT_PASSWORD}:</td>
+<td class="input">
+<input type="password" name="current_password" value="" style="width: 98%;" />
+</td>
+</tr>
+<tr>
+<td colspan="2">&nbsp;</td>
+</tr>
+<tr>
+<td colspan="2" class="button">
+<button type="reset" name="reset" value="reset">{TEXT_RESET}</button>
+<button type="submit" name="action" value="email">{MOD_PREFERENCE_SAVE_EMAIL}</button>
+<button type="button" value="cancel" onclick="javascript:window.location='{HTTP_REFERER}';">{TEXT_CANCEL}</button>
+</td>
+</tr>
+</table>
 </form>
 </div>
 <div class="password">
 <h3>{HEADING_MY_PASSWORD}</h3>
 <form name="password" action="" method="post">
-	<table>
-		<tr>
-			<td>{TEXT_CURRENT_PASSWORD}:</td>
-			<td class="input">
-				<input type="password" name="current_password" style="width: 98%;" />
-			</td>
-		</tr>
-		<tr>
-			<td>{TEXT_NEW_PASSWORD}:</td>
-			<td class="input">
-				<input type="password" name="new_password" style="width: 98%;" />
-			</td>
-		</tr>
-		<tr>
-			<td>{TEXT_RETYPE_NEW_PASSWORD}:</td>
-			<td class="input">
-				<input type="password" name="new_password2" style="width: 98%;" />
-			</td>
-		</tr>
-        <tr>
-        	<td colspan="2">&nbsp;</td>
-        </tr>
-		<tr>
-			<td colspan="2" class="button">
-				<button type="reset" name="reset" value="reset">{TEXT_RESET}</button>
-				<button type="submit" name="action" value="password">{MOD_PREFERENCE_SAVE_PASSWORD}</button>
-            	<button type="button" value="cancel" onclick="javascript:window.location='{HTTP_REFERER}';">{TEXT_CANCEL}</button>
-			</td>
-		</tr>
-	</table>
+<table>
+<tr>
+<td>{TEXT_CURRENT_PASSWORD}:</td>
+<td class="input">
+<input type="password" name="current_password" value="" style="width: 98%;" />
+</td>
+</tr>
+<tr>
+<td>{TEXT_NEW_PASSWORD}:</td>
+<td class="input">
+<input type="password" name="new_password" value="" style="width: 98%;" />
+</td>
+</tr>
+<tr>
+<td>{TEXT_RETYPE_NEW_PASSWORD}:</td>
+<td class="input">
+<input type="password" name="new_password2" value="" style="width: 98%;" />
+</td>
+</tr>
+<tr>
+<td colspan="2">&nbsp;</td>
+</tr>
+<tr>
+<td colspan="2" class="button">
+<button type="reset" name="reset" value="reset">{TEXT_RESET}</button>
+<button type="submit" name="action" value="password">{MOD_PREFERENCE_SAVE_PASSWORD}</button>
+<button type="button" value="cancel" onclick="javascript:window.location='{HTTP_REFERER}';">{TEXT_CANCEL}</button>
+</td>
+</tr>
+</table>
 </form>
 </div>
 </div>
Index: branches/2.8.x/wb/account/htt/signup.htt
===================================================================
--- branches/2.8.x/wb/account/htt/signup.htt	(revision 1776)
+++ branches/2.8.x/wb/account/htt/signup.htt	(revision 1777)
@@ -8,84 +8,84 @@
 <div class="signup">
 
 <form name="signup" action="{ACTION_URL}" method="post">
-	<input type="hidden" name="action" value="send" />
-	<input type="hidden" name="submitted_when" value="{SET_TIME}" />
+<input type="hidden" name="action" value="send" />
+<input type="hidden" name="submitted_when" value="{SET_TIME}" />
 <!-- BEGIN asp_block -->
-	<p class="{DISPLAY_ASP}" id="pot">
-		<label>If you're human leave this blank:</label>
-		<input name="robotest" id="robotest" class="robotest" />
-		<label for="email-address">Leave this field email-address blank:</label>
-		<input id="email-address" name="email-address" size="60" value="" /><br />
-		<label for="name">Leave this field name blank:</label>
-		<input id="name" name="name" size="60" value="" /><br />
-		<label for="full_name">Leave this field full_name blank:</label>
-		<input id="full_name" name="full_name" size="60" value="" /><br />
-	</p>
+<p class="{DISPLAY_ASP}" id="pot">
+<label>If you're human leave this blank:</label>
+<input name="robotest" id="robotest" class="robotest" />
+<label for="email-address">Leave this field email-address blank:</label>
+<input id="email-address" name="email-address" size="60" value="" /><br />
+<label for="name">Leave this field name blank:</label>
+<input id="name" name="name" size="60" value="" /><br />
+<label for="full_name">Leave this field full_name blank:</label>
+<input id="full_name" name="full_name" size="60" value="" /><br />
+</p>
 <!-- END asp_block -->
-	<h3>{HEADING_SIGNUP}</h3>
-	<table>
-		<tr>
-			<td>{TEXT_USERNAME}:</td>
-			<td class="input">
-				<input type="text" name="login_name" value="{DISPLAY_USER}" />
-			</td>
-		</tr>
-		<tr>
-			<td>{TEXT_DISPLAY_NAME}:</td>
-			<td class="input">
-				<input type="text" name="display_name" value="{DISPLAY_NAME}" />
-			</td>
-		</tr>
-		<tr>
-			<td>{TEXT_EMAIL}:</td>
-			<td class="input">
-				<input type="text" name="email" value="{EMAIL}" />
-			</td>
-		</tr>
-		<tr>
-			<td>{TEXT_LANGUAGE}:</td>
-			<td class="input">
-				<select name="language" id="language">
-					<!-- BEGIN language_list_block -->
-						<option value="{CODE}"{SELECTED} style="background: url({FLAG}.png) no-repeat center left; padding-left: 20px;">{NAME} ({CODE})</option>
-					<!-- END language_list_block -->
-				</select>
-			</td>
-		</tr>
+<h3>{HEADING_SIGNUP}</h3>
+<table>
+<tr>
+<td>{TEXT_USERNAME}:</td>
+<td class="input">
+<input type="text" name="login_name" value="{DISPLAY_USER}" />
+</td>
+</tr>
+<tr>
+<td>{TEXT_DISPLAY_NAME}:</td>
+<td class="input">
+<input type="text" name="display_name" value="{DISPLAY_NAME}" />
+</td>
+</tr>
+<tr>
+<td>{TEXT_EMAIL}:</td>
+<td class="input">
+<input type="text" name="email" value="{EMAIL}" />
+</td>
+</tr>
+<tr>
+<td>{TEXT_LANGUAGE}:</td>
+<td class="input">
+<select name="language" id="language">
+<!-- BEGIN language_list_block -->
+<option value="{CODE}"{SELECTED} style="background: url({FLAG}.png) no-repeat center left; padding-left: 20px;">{NAME} ({CODE})</option>
+<!-- END language_list_block -->
+</select>
+</td>
+</tr>
 <!-- BEGIN password_block -->
-		<tr>
-			<td colspan="2"><div class="note">{HELP_SIGNUP_REMEMBER_PASSWORD}</div></td>
-		</tr>
-		<tr>
-			<td>{TEXT_NEW_PASSWORD}:</td>
-			<td class="input">
-				<input type="password" name="new_password_1" />
-			</td>
-		</tr>
-		<tr>
-			<td>{TEXT_RETYPE_NEW_PASSWORD}:</td>
-			<td class="input">
-				<input type="password" name="new_password_2" />
-			</td>
-		</tr>
+<tr>
+<td colspan="2"><div class="note">{HELP_SIGNUP_REMEMBER_PASSWORD}</div></td>
+</tr>
+<tr>
+<td>{TEXT_NEW_PASSWORD}:</td>
+<td class="input">
+<input type="password" name="new_password_1" />
+</td>
+</tr>
+<tr>
+<td>{TEXT_RETYPE_NEW_PASSWORD}:</td>
+<td class="input">
+<input type="password" name="new_password_2" />
+</td>
+</tr>
 <!-- END password_block -->
 <!-- BEGIN captcha_block -->
-		<tr>
-			<td class="field_title">{TEXT_VERIFICATION}:</td>
-			<td class="input">{CAPTCHA}</td>
-		</tr>
+<tr>
+<td class="field_title">{TEXT_VERIFICATION}:</td>
+<td class="input">{CAPTCHA}</td>
+</tr>
 <!-- END captcha_block -->
-        <tr>
-        	<td colspan="2">&nbsp;</td>
-        </tr>
-		<tr>
-			<td colspan="2" class="button">
-        		<button type="submit" name="submit" value="">{TEXT_SIGNUP}</button>
-        		<button type="reset" name="reset" value="reset">{TEXT_RESET}</button>
-				<button type="button" value="cancel" onclick="javascript:window.location='{HTTP_REFERER}';">{TEXT_CANCEL}</button>
-			</td>
-		</tr>
-	</table>
+<tr>
+<td colspan="2">&nbsp;</td>
+</tr>
+<tr>
+<td colspan="2" class="button">
+<button type="submit" name="submit" value="">{TEXT_SIGNUP}</button>
+<button type="reset" name="reset" value="reset">{TEXT_RESET}</button>
+<button type="button" value="cancel" onclick="javascript:window.location='{HTTP_REFERER}';">{TEXT_CANCEL}</button>
+</td>
+</tr>
+</table>
 </form>
 </div>
 </div>
Index: branches/2.8.x/wb/account/save_confirm.php
===================================================================
--- branches/2.8.x/wb/account/save_confirm.php	(revision 1776)
+++ branches/2.8.x/wb/account/save_confirm.php	(revision 1777)
@@ -17,18 +17,19 @@
 
 /* -------------------------------------------------------- */
 // Must include code to stop this file being accessed directly
-if(defined('WB_PATH') == false)
-{
-	die('<h2 style="color:red;margin:3em auto;text-align:center;">Cannot access this file directly</h2>');
+if(!defined('WB_PATH')) {
+	require_once(dirname(dirname(__FILE__)).'/framework/globalExceptionHandler.php');
+	throw new IllegalFileException();
 }
 /* -------------------------------------------------------- */
 
 require_once(dirname(__FILE__).'/AccountSignup.php');
 AccountSignup::deleteOutdatedConfirmations();
-$sPassword = isset($_POST['new_password_1'])     ? mysql_escape_string($_POST['new_password_1']) : '';
-$sLoginName = isset($_POST['new_loginname'])     ? mysql_escape_string($_POST['new_loginname']) : '';
-$sConfirmationId = isset($_POST['confirm_code']) ? mysql_escape_string($_POST['confirm_code'])   : '';
 
+$sPassword = mysql_escape_string($wb->StripCodeFromText($wb->get_post('new_password_1')));
+$sLoginName = mysql_escape_string($wb->StripCodeFromText($wb->get_post('new_loginname')));
+$sConfirmationId = mysql_escape_string($wb->StripCodeFromText($wb->get_post('confirm_code')));
+
 $bSendRegistrationMailtoUser = false;
 $bSendRegistrationMailtoAdmin = false;
 $aUser = array();
Index: branches/2.8.x/wb/account/frontend.css
===================================================================
--- branches/2.8.x/wb/account/frontend.css	(revision 1776)
+++ branches/2.8.x/wb/account/frontend.css	(revision 1777)
@@ -16,6 +16,7 @@
 /* here you can style the account templates */
 .note { background :#eeffee; border :0.2em #448844 solid; color :#004400; margin-bottom :1em; padding :0.63em; }
 .warning { background :#ffeeee; border :1px #884444 solid; color :#440000; margin-bottom :1em; padding :1.5em; }
+.rounded { border-radius :10px; -khtml-border-radius :10px; -webkit-border-radius :10px; -moz-border-radius :10px; }
 div.account { width :80%; margin :1em auto; }
 div.account div.signup, 
 div.account div.details, 
@@ -31,7 +32,8 @@
 .nixhier { display :none; }
 .center { text-align :center; }
 div.account table td.input input { width :90%; }
-/* DIV-mbox to show selector or simply content only ************************* */
+.display_name { border :1px solid #666666; color :#000000; text-align :left; font-weight :bold; background-color :#dddddd; margin :2px auto; padding :2px 0px 2px 6px; width :71%; }
+.rbold { text-align :right; font-weight :bold; vertical-align :middle; }/* DIV-mbox to show selector or simply content only ************************* */
 div.mbox { padding :0.6em; margin :1em auto; background-color : #f3f5f8; color :#330033; font-size :1.1em; display :block; }
 /* extension for mbox to show additional icons on left side ***************** */
 div.mbox-icon { background-repeat :no-repeat; background-image :url(../images/info_50.png); background-position :15px 50%; padding :15px; min-height :25px; }
Index: branches/2.8.x/wb/account/languages/EN.php
===================================================================
--- branches/2.8.x/wb/account/languages/EN.php	(revision 1776)
+++ branches/2.8.x/wb/account/languages/EN.php	(revision 1777)
@@ -30,5 +30,131 @@
 	'SAVE_EMAIL'    => 'save email',
 	'SAVE_PASSWORD' => 'save password',
 );
+$TEXT['USERNAME'] = 'Loginname';
+$HEADING['SIGNUP2_CONFIMED_REGISTRATION'] = 'Kontofreischaltung';
+$HEADING['MESSAGE_WELCOME'] = 'Herzlich willkomen zur Freischaltung Ihres Konto';
 
-?>
\ No newline at end of file
+$HELP['SIGNUP_REMEMBER_PASSWORD'] = '<i>Bitte merken Sie sich Ihren Loginnamen und das Kennwort! Sie ben&ouml;tigen den Loginnamen und das Kennwort um die Aktivierung abzuschliessen!</i>';
+$HELP['CONFIRM_PASSWORD'] = '<i>Geben Sie bitte Ihren Loginnamen und das Kennwort ein um die Aktivierung abzuschliessen!</i>';
+
+$MESSAGE['ACTIVATED_NEW_USER'] = '<b>Das Konto wurde freigeschaltet. Sie können sich einloggen</b>';
+$MESSAGE['FAILED_NEW_USER'] = '<b>Die Aktiverung ist abgelaufen oder verkehrtes Kennwort</b>';
+$MESSAGE['SIGNUP2_ADMIN_INFO'] = '
+Es wurde ein neuer User regisriert.
+
+Loginname: {LOGIN_NAME}
+UserId: {LOGIN_ID}
+E-Mail: {LOGIN_EMAIL}
+IP-Adresse: {LOGIN_IP}
+Anmeldedatum: {SIGNUP_DATE}
+----------------------------------------
+Diese E-Mail wurde automatisch erstellt!
+
+';
+$MESSAGE['SIGNUP2_BODY_LOGIN_FORGOT'] = '
+Hallo {LOGIN_DISPLAY_NAME},
+
+Sie erhalten diese E-Mail, weil sie ein neues Passwort angefordert haben.
+
+Ihre neuen Logindaten für {LOGIN_WEBSITE_TITLE} lauten:
+
+Loginname: {LOGIN_NAME}
+Passwort: {LOGIN_PASSWORD}
+
+Das bisherige Passwort wurde durch das neue Passwort oben ersetzt.
+
+Aus Sicherheitsgründen sollten Sie dieses Kennwort sofort ändern.
+
+Mit freundlichen Grüssen
+----------------------------------------
+Diese E-Mail wurde automatisch erstellt!
+';
+$MESSAGE['SIGNUP2_BODY_LOGIN_INFO'] = '
+Hallo {LOGIN_DISPLAY_NAME},
+
+Herzlich willkommen bei \'{LOGIN_WEBSITE_TITLE}\'
+
+Ihre Logindaten für \'{LOGIN_WEBSITE_TITLE}\' lauten:
+Loginname: {LOGIN_NAME}
+Kennwort: {LOGIN_PASSWORD}
+
+Vielen Dank für Ihre Registrierung.
+Aus Sicherheitsgründen sollten Sie dieses Kennwort sofort ändern.
+
+';
+
+$MESSAGE['SUCCESS_EMAIL_TEXT_GENERATED'] = "\n"
+."***********************************************************************\n"
+."Dies ist eine automatisch generierte E-Mail. Die Absenderadresse dieser\n"
+."E-Mail ist nur zum Versand, und nicht zum Empfang von Nachrichten\n"
+."eingerichtet! Falls Sie diese E-Mail versehentlich erhalten haben,\n"
+."löschen Sie diese Nachricht bitte von Ihrem Computer.\n"
+."***********************************************************************\n";
+
+$MESSAGE['INCORRECT_CAPTCHA'] = 'Die eingegebene Pr&uuml;fziffer stimmt nicht &uuml;berein. Wenn Sie Probleme mit dem Lesen der Pr&uuml;fziffer haben, bitte schreiben Sie eine E-Mail an den <a href="mailto:{{webmaster_email}}">Webmaster</a>';
+
+$MESSAGE['CONFIRMED']  = 'Ihr Kennwort finden Sie weiter unten. Verwenden Sie sie, um Ihre Softwareeinstellungen und -Funktionen zu verwalten. Ändern Sie aus Sicherheitsgründen umgehend Ihr Kennwort.';
+$MESSAGE['CONFIRMED'] .= 'Kennwort: ';
+$MESSAGE['CONFIRMED'] .= 'Vielen Dank!';
+$MESSAGE['CHANGE_PASSWORD'] = 'Aus Sicherheitsgründen sollten Sie dieses Kennwort sofort ändern. Besuchen Sie dazu folgende Website:';
+
+$MESSAGE['LOGIN_BOTH_BLANK'] = 'Bitte geben Sie Ihren Loginnamen und Passwort ein';
+$MESSAGE['LOGIN_PASSWORD_BLANK'] = 'Bitte geben Sie Ihr Passwort ein';
+$MESSAGE['LOGIN_PASSWORD_TOO_LONG'] = 'Das angegebene Passwort ist zu lang';
+$MESSAGE['LOGIN_PASSWORD_TOO_SHORT'] = 'Das angegebene Passwort ist zu kurz';
+$MESSAGE['LOGIN_USERNAME_BLANK'] = 'Bitte geben Sie Ihren Loginnamen ein';
+$MESSAGE['LOGIN_USERNAME_TOO_LONG'] = 'Der angegebene Loginname ist zu lang';
+$MESSAGE['LOGIN_USERNAME_TOO_SHORT'] = 'Der angegebene Loginname ist zu kurz';
+$MESSAGE['MAIL_GENERATED'] = 'Diese Nachricht wurde automatisch erstellt und kann nicht beantwortet werden. Wenn Sie Fragen haben oder Hilfe benötigen, wenden Sie sich bitte an <a href="mailto:{{webmaster_email}}">Webmaster</a>';
+
+$MESSAGE['SEND_CONFIRMED_REGISTRATION'] = "
+
+Hallo {LOGIN_DISPLAY_NAME},
+
+Herzlich willkommen bei {LOGIN_WEBSITE_TITLE}!
+
+Bitte aktivieren Sie Ihren kostenlosen Account und klicken Sie auf folgenden Link um die Aktivierung abzuschließen:
+
+{LINK}
+Sollte der Link nicht anklickbar sein, so kopieren Sie ihn bitte in die Adresszeile Ihres Browsers!
+
+Der Aktivierungslink ist gültig bis {CONFIRMED_REGISTRATION_ENDTIME}
+
+Mit freundlichen Grüßen,
+Ihr Support Team
+
+";
+$MESSAGE['SEND_CONFIRMED_ACTIVATION'] = "
+
+Hallo {LOGIN_DISPLAY_NAME},
+
+Herzlich willkommen bei {LOGIN_WEBSITE_TITLE}!
+
+Sie haben sich erfolgreich aktiviert. Sie können sich jetzt anmelden.
+
+Bei Problemen oder Fragen wenden Sie sich bitte per E-Mail an den <a href=\"mailto:{{webmaster_email}}\">Webmaster</a>
+
+Mit freundlichen Grüßen,
+Ihr Support Team
+
+";
+
+$MESSAGE['SIGNUP2_SUBJECT_NEW_USER'] = 'Vielen Dank f&uuml;r Ihre Registrierung!';
+$MESSAGE['SIGNUP2_NEW_USER'] = 'Es wurde ein neuer User regisriert';
+$MESSAGE['SIGNUP2_SUBJECT_LOGIN_INFO'] = 'Deine WB Logindaten ...';
+$MESSAGE['SIGNUP_NO_EMAIL'] = 'Bitte geben Sie Ihre E-Mail Adresse an';
+
+$MESSAGE['SIGNUP_CONFIRMED_REGISTRATION'] = "Um Ihr Konto nutzen zu k&ouml;nnen, erhalten Sie eine E-Mail mit einem Link, um Ihr Konto zu aktivieren.
+<br /><b>Die Aktivierung muss innerhalb 24 Stunden erfolgen, da ansonsten das Konto wieder gel&ouml;scht wird.</b>
+";
+$MESSAGE['SIGNUP_REGISTRATION'] = 'Sie erhalten Ihre Zugangsdaten per E-Mail!!';
+$MESSAGE['SIGNUP_NEW_USER'] = '<b>Das Konto wurde angelegt.</b>';
+$MESSAGE['SIGNUP_ACTIVATION'] = 'Kontoaktivierung';
+
+$TEXT['NEED_CURRENT_PASSWORD'] = 'mit aktuellem Passwort best&auml;tigen';
+$TEXT['NEED_TO_LOGIN'] = 'M&uuml;ssen Sie sich einloggen?';
+$TEXT['NEW_PASSWORD'] = 'Neues Passwort';
+$TEXT['PASSWORD'] = 'Kennwort';
+$TEXT['ACTIVATION'] = 'Freischalten';
+$TEXT['SEND'] = 'Anfordern';
+$TEXT['USERNAME'] = 'Loginname';
Index: branches/2.8.x/wb/account/save_signup.php
===================================================================
--- branches/2.8.x/wb/account/save_signup.php	(revision 1776)
+++ branches/2.8.x/wb/account/save_signup.php	(revision 1777)
@@ -16,10 +16,10 @@
  */
 
 /* -------------------------------------------------------- */
-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>');
+// Must include code to stop this file being accessed directly
+if(!defined('WB_PATH')) {
+	require_once(dirname(dirname(__FILE__)).'/framework/globalExceptionHandler.php');
+	throw new IllegalFileException();
 }
 /* -------------------------------------------------------- */
 $bDebugSignup = false;
@@ -36,11 +36,11 @@
 if (!function_exists('emailAdmin')) {
 	function emailAdmin() {
 		global $database,$admin;
-        $retval = $admin->get_email();
-        if($admin->get_user_id()!='1') {
-			$sql  = 'SELECT `email` FROM `'.TABLE_PREFIX.'users` ';
-			$sql .= 'WHERE `user_id`=\'1\' ';
-	        $retval = $database->get_one($sql);
+        $retval = false;
+		$sql  = 'SELECT `email` FROM `'.TABLE_PREFIX.'users` ';
+		$sql .= 'WHERE `user_id`=\'1\' ';
+        if(!($retval = $database->get_one($sql))){
+            $retval = false;
         }
 		return $retval;
 	}
@@ -67,12 +67,8 @@
 	}
 }
 
-//$_SESSION['username'] = '';
-//$_SESSION['DISPLAY_NAME'] = '';
-//$_SESSION['email'] = '';
-//$_SESSION['display_form'] = true;
-
-if(isset($_POST['action']) && $_POST['action']=='send')
+//if(isset($_POST['action']) && $_POST['action']=='send')
+if($wb->StripCodeFromText($wb->get_post('action'))=='send')
 {
 	$database = WbDatabase::getInstance();
 
@@ -96,26 +92,24 @@
 		msgQueue::add($database->get_error());
 	}
 
-	$_SESSION['username'] = strtolower(strip_tags($wb->get_post_escaped('login_name')));
-	$_SESSION['DISPLAY_NAME'] = strip_tags($wb->get_post_escaped('display_name'));
-	$_SESSION['email'] = $wb->get_post('email');
-	$_SESSION['language'] = $wb->get_post('language');
-
+	$_SESSION['USERNAME'] = strtolower($wb->StripCodeFromText($wb->get_post('login_name')));
+	$_SESSION['DISPLAY_NAME'] = strip_tags($wb->StripCodeFromText($wb->get_post('display_name')));
+	$_SESSION['EMAIL'] = strip_tags($wb->StripCodeFromText($wb->get_post('email')));
+	$_SESSION['LANGUAGE'] = strip_tags($wb->StripCodeFromText($wb->get_post('language')));
 //	$aErrorMsg = array();
 
-	if($_SESSION['username'] != "")
-	{
+	if($wb->get_session('USERNAME') != "") {
 		// Check if username already exists
-		$sql = 'SELECT `user_id` FROM `'.TABLE_PREFIX.'users` WHERE `username` = \''.$_SESSION['username'].'\'';
+		$sql = 'SELECT `user_id` FROM `'.TABLE_PREFIX.'users` WHERE `username` = \''.$_SESSION['USERNAME'].'\'';
 		if($database->get_one($sql)){
 //			$aErrorMsg[] = $MESSAGE['USERS_USERNAME_TAKEN'];
 			msgQueue::add($MESSAGE['USERS_USERNAME_TAKEN']);
-			$_SESSION['username'] = '';
+			$_SESSION['USERNAME'] = '';
 		} else {
-			if(preg_match('/^[a-z]{1}[a-z0-9_-]{3,}$/i', $_SESSION['username'])==false) {
+			if(preg_match('/^[a-z]{1}[a-z0-9_-]{3,}$/i', $_SESSION['USERNAME'])==false) {
 //				$aErrorMsg[] = $MESSAGE['USERS_NAME_INVALID_CHARS'];
 				msgQueue::add($MESSAGE['USERS_NAME_INVALID_CHARS']);
-				$_SESSION['username'] = '';
+				$_SESSION['USERNAME'] = '';
 		 	}
 		}
 	} else {
@@ -123,27 +117,24 @@
 		msgQueue::add($MESSAGE['LOGIN_USERNAME_BLANK']);
 	}
 
-	if($_SESSION['DISPLAY_NAME'] == "") {
+	if($wb->get_session('DISPLAY_NAME') != "") {
 //		$aErrorMsg[] = $MESSAGE['GENERIC_FILL_IN_ALL'];
 		msgQueue::add($MESSAGE['GENERIC_FILL_IN_ALL']);
 	}
 
-	if($_SESSION['email'] != "") {
+	if($wb->get_session('EMAIL') != "") {
 		// Check if the email already exists
-		$sql = 'SELECT `user_id` FROM `'.TABLE_PREFIX.'users` WHERE `email` = \''.mysql_escape_string($_SESSION['email']).'\'';
+		$sql = 'SELECT `user_id` FROM `'.TABLE_PREFIX.'users` WHERE `email` = \''.$_SESSION['EMAIL'].'\'';
 		if($database->get_one($sql)){
-//			$aErrorMsg[] = $MESSAGE['USERS_EMAIL_TAKEN'];
 			msgQueue::add($MESSAGE['USERS_EMAIL_TAKEN']);
-			$_SESSION['email'] = '';
+			$_SESSION['EMAIL'] = '';
 		} else {
-			if(!$wb->validate_email($_SESSION['email'])){
-//				$aErrorMsg[] = $MESSAGE['USERS_INVALID_EMAIL'];
+			if(!$wb->validate_email($_SESSION['EMAIL'])){
 				msgQueue::add($MESSAGE['USERS_INVALID_EMAIL']);
-				$_SESSION['email'] = '';
+				$_SESSION['EMAIL'] = '';
 			}
 		}
 	} else {
-//		$aErrorMsg[] = $MESSAGE['SIGNUP_NO_EMAIL'];
 		msgQueue::add($MESSAGE['SIGNUP_NO_EMAIL']);
 	}
 
@@ -150,24 +141,23 @@
 	if(CONFIRMED_REGISTRATION) {
 		$iMinPassLength = 6;
 // receive password vars and calculate needed action
-		$sNewPassword = $wb->get_post('new_password_1');
+//		$sNewPassword = $wb->get_post('new_password_1');
+    	$sNewPassword = ($wb->StripCodeFromText($wb->get_post('new_password_1')));
 		$sNewPassword = (is_null($sNewPassword) ? '' : $sNewPassword);
-		$sNewPasswordRetyped = $wb->get_post('new_password_2');
+//		$sNewPasswordRetyped = $wb->get_post('new_password_2');
+    	$sNewPasswordRetyped = ($wb->StripCodeFromText($wb->get_post('new_password_2')));
 		$sNewPasswordRetyped= (is_null($sNewPasswordRetyped) ? '' : $sNewPasswordRetyped);
 // validate new password
 		$sPwHashNew = false;
 		if($sNewPassword != '') {
 			if(strlen($sNewPassword) < $iMinPassLength) {
-//				$err_msg[] = $MESSAGE['USERS_PASSWORD_TOO_SHORT'];
 				msgQueue::add($MESSAGE['USERS_PASSWORD_TOO_SHORT']);
 			} else {
 				if($sNewPassword != $sNewPasswordRetyped) {
-//					$err_msg[] = $MESSAGE['USERS_PASSWORD_MISMATCH'];
 					msgQueue::add($MESSAGE['USERS_PASSWORD_MISMATCH']);
 				} else {
 					$pattern = '/[^'.$admin->password_chars.']/';
 					if (preg_match($pattern, $sNewPassword)) {
-//						$err_msg[] = $MESSAGE['PREFERENCES_INVALID_CHARS'];
 						msgQueue::add($MESSAGE['PREFERENCES_INVALID_CHARS']);
 					}else {
 						$sPwHashNew = md5($sNewPassword);
@@ -181,16 +171,17 @@
 	} else {
 		// Captcha
 		if(ENABLED_CAPTCHA) {
-			if(isset($_POST['captcha']) AND $_POST['captcha'] != '')
+//			if(isset($_POST['captcha']) AND $_POST['captcha'] != '')
+			if($wb->StripCodeFromText($wb->get_post('captcha')) != '')
 			{
 				// Check for a mismatch get email user_id
 				if(!isset($_POST['captcha']) OR !isset($_SESSION['captcha']) OR $_POST['captcha'] != $_SESSION['captcha']) {
-					$replace = array('SERVER_EMAIL' => emailAdmin() );
+					$replace = array('webmaster_email' => emailAdmin() );
 	//				$aErrorMsg[] = replace_vars($MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'], $replace);
 					msgQueue::add(replace_vars($MESSAGE['INCORRECT_CAPTCHA'], $replace));
 				}
 			} else {
-				$replace = array('SERVER_EMAIL'=>emailAdmin() );
+				$replace = array('webmaster_email'=> emailAdmin() );
 	//			$aErrorMsg[] = replace_vars($MESSAGE['MOD_FORM_INCORRECT_CAPTCHA'],$replace );
 				msgQueue::add(replace_vars($MESSAGE['INCORRECT_CAPTCHA'],$replace ));
 			}
@@ -215,7 +206,7 @@
 	} else {
 		$get_ip = ObfuscateIp();
 		$get_ts = time();
-		$sLoginName = $_SESSION['username'];
+		$sLoginName = $_SESSION['USERNAME'];
 //		$sDisplayName = $_SESSION['DISPLAY_NAME'];
 		$sDisplayName = $wb->add_slashes($_SESSION['DISPLAY_NAME']);
 		$groups_id = FRONTEND_SIGNUP;
@@ -248,7 +239,7 @@
 		$sql .= '`confirm_timeout` = \''.$sTimeOut.'\', ';
 		$sql .= '`display_name` = \''.$sDisplayName.'\', ';
 		$sql .= '`email` = \''.$email_to.'\', ';
-		$sql .= '`language` = \''.$_SESSION['language'].'\', ';
+		$sql .= '`language` = \''.$_SESSION['LANGUAGE'].'\', ';
 		$sql .= '`login_when` = \''.$get_ts.'\', ';
 		$sql .= '`login_ip` = \''.$get_ip.'\' ';
 
@@ -257,9 +248,11 @@
 // cancel and break script
 			$bSaveRegistration = false;
 			$_SESSION['display_form'] = false;
-			unset($_SESSION['username']);
+			unset($_SESSION['USERNAME']);
 			unset($_SESSION['DISPLAY_NAME']);
-			unset($_SESSION['email']);
+			unset($_SESSION['EMAIL']);
+			unset($_SESSION['TIMEZONE']);
+			unset($_SESSION['LANGUAGE']);
 			unset($_POST);
 			if($database->set_error()){
 				msgQueue::add($database->get_error());
Index: branches/2.8.x/wb/account/preferences_form.php
===================================================================
--- branches/2.8.x/wb/account/preferences_form.php	(revision 1776)
+++ branches/2.8.x/wb/account/preferences_form.php	(revision 1777)
@@ -1,201 +1,203 @@
 <?php
 /**
- *
- * @category        frontend
- * @package         account
- * @author          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$
- *
- */
+*
+* @category        frontend
+* @package         account
+* @author          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>');
+if(!defined('WB_PATH')) {
+require_once(dirname(dirname(__FILE__)).'/framework/globalExceptionHandler.php');
+throw new IllegalFileException();
 }
 /* -------------------------------------------------------- */
 
-	if($wb->is_authenticated() === false) {
+if($wb->is_authenticated() === false) {
 // User needs to login first
-		header("Location: ".WB_URL."/account/login.php?redirect=".$wb->link);
-		exit(0);
-	}
+header("Location: ".WB_URL."/account/login.php?redirect=".$wb->link);
+exit(0);
+}
 
 // load module default language file (EN)
-	require_once(WB_PATH .'/account/languages/EN.php');
+require_once(WB_PATH .'/account/languages/EN.php');
 // check for user defined language file, load it and override EN-Settings with
-	if(file_exists(WB_PATH .'/account/languages/' .LANGUAGE .'.php')) {
-		require_once(WB_PATH .'/account/languages/' .LANGUAGE .'.php');
-	}
-	require_once(WB_PATH.'/framework/functions-utf8.php');
+if(file_exists(WB_PATH .'/account/languages/' .LANGUAGE .'.php')) {
+require_once(WB_PATH .'/account/languages/' .LANGUAGE .'.php');
+}
+require_once(WB_PATH.'/framework/functions-utf8.php');
 
 //	echo '<style type="text/css">';
 //	include(WB_PATH .'/account/frontend.css');
 //	echo "\n</style>\n";
 
-	$user_time = true;
-	require(ADMIN_PATH.'/interface/timezones.php');
-	require(ADMIN_PATH.'/interface/date_formats.php');
-	require(ADMIN_PATH.'/interface/time_formats.php');
-	$error = array();
-	$success = array();
-	$template = new Template(WB_PATH .'/account/htt','keep');
+$user_time = true;
+require(ADMIN_PATH.'/interface/timezones.php');
+require(ADMIN_PATH.'/interface/date_formats.php');
+require(ADMIN_PATH.'/interface/time_formats.php');
+$error = array();
+$success = array();
+$template = new Template(WB_PATH .'/account/htt','keep');
 
-	switch($wb->get_post('action')):
-		case 'details':
-			require_once(WB_PATH .'/account/details.php');
-			break;
-		case 'email':
-			require_once(WB_PATH .'/account/email.php');
+switch($wb->get_post('action')):
+case 'details':
+require_once(WB_PATH .'/account/details.php');
+break;
+case 'email':
+require_once(WB_PATH .'/account/email.php');
 
-			break;
-		case 'password':
-			require_once(WB_PATH .'/account/password.php');
-			break;
-		default:
-			// do nothing
-	endswitch; // switch
+break;
+case 'password':
+require_once(WB_PATH .'/account/password.php');
+break;
+default:
+// do nothing
+endswitch; // switch
 
 // show template
-	$template->set_file('page', 'preferences.htt');
-	$template->set_block('page', 'main_block', 'main');
+$template->set_file('page', 'preferences.htt');
+$template->set_block('page', 'main_block', 'main');
 // get existing values from database
-	$sql = "SELECT `display_name`,`email` FROM ".TABLE_PREFIX."users WHERE `user_id` = '".$wb->get_user_id()."'";
-	$rowset = $database->query($sql);
-	if($database->is_error()) $error[] = $database->get_error();
-	$row = $rowset->fetchRow();
+$sql = "SELECT `display_name`,`email` FROM ".TABLE_PREFIX."users WHERE `user_id` = '".$wb->get_user_id()."'";
+$rowset = $database->query($sql);
+if($database->is_error()) $error[] = $database->get_error();
+$row = $rowset->fetchRow();
 // insert values into form
-	$template->set_var('DISPLAY_NAME', $row['display_name']);
-	$template->set_var('EMAIL', $row['email']);
+$template->set_var('DISPLAY_NAME', $row['display_name']);
+$template->set_var('EMAIL', $row['email']);
+$template->set_var('ACTION_URL', WB_URL.'/account/preferences.php');
 
 // read available languages from table addons and assign it to the template
-	$sql  = 'SELECT * FROM `'.TABLE_PREFIX.'addons` ';
-	$sql .= 'WHERE `type` = \'language\' ORDER BY `directory`';
-	if( $res_lang = $database->query($sql) )
-	{
-		$template->set_block('main_block', 'language_list_block', 'language_list');
-		while( $rec_lang = $res_lang->fetchRow() )
-		{
-	        $langIcons = (empty($rec_lang['directory'])) ? 'none' : strtolower($rec_lang['directory']);
-			$template->set_var('CODE',        $rec_lang['directory']);
-			$template->set_var('NAME',        $rec_lang['name']);
-			$template->set_var('FLAG',        THEME_URL.'/images/flags/'.$langIcons);
-			$template->set_var('SELECTED',    (LANGUAGE == $rec_lang['directory'] ? ' selected="selected"' : '') );
-			$template->parse('language_list', 'language_list_block', true);
-		}
-	}
+$sql  = 'SELECT * FROM `'.TABLE_PREFIX.'addons` ';
+$sql .= 'WHERE `type` = \'language\' ORDER BY `directory`';
+if( $res_lang = $database->query($sql) )
+{
+    $template->set_block('main_block', 'language_list_block', 'language_list');
+    while( $rec_lang = $res_lang->fetchRow() )
+    {
+        $langIcons = (empty($rec_lang['directory'])) ? 'none' : strtolower($rec_lang['directory']);
+        $template->set_var('CODE',        $rec_lang['directory']);
+        $template->set_var('NAME',        $rec_lang['name']);
+        $template->set_var('FLAG',        THEME_URL.'/images/flags/'.$langIcons);
+        $template->set_var('SELECTED',    ($wb->get_session('LANGUAGE') == $rec_lang['directory'] ? ' selected="selected"' : '') );
+        $template->parse('language_list', 'language_list_block', true);
+    }
+}
 // Insert default timezone values
-	$template->set_block('main_block', 'timezone_list_block', 'timezone_list');
-	foreach($TIMEZONES AS $hour_offset => $title) {
-		$template->set_var('VALUE', $hour_offset);
-		$template->set_var('NAME', $title);
-		if($wb->get_timezone() == $hour_offset*3600) {
-			$template->set_var('SELECTED', 'selected="selected"');
-		} else {
-			$template->set_var('SELECTED', '');
-		}
-		$template->parse('timezone_list', 'timezone_list_block', true);
-	}
+$template->set_block('main_block', 'timezone_list_block', 'timezone_list');
+foreach($TIMEZONES AS $hour_offset => $title) {
+    $template->set_var('VALUE', $hour_offset);
+    $template->set_var('NAME', $title);
+    if($wb->get_timezone() == $hour_offset*3600) {
+        $template->set_var('SELECTED', 'selected="selected"');
+    } else {
+        $template->set_var('SELECTED', '');
+    }
+    $template->parse('timezone_list', 'timezone_list_block', true);
+}
 
 // Insert date format list
-	$template->set_block('main_block', 'date_format_list_block', 'date_format_list');
-	foreach($DATE_FORMATS AS $format => $title) {
-		$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
-		if($format != 'system_default') {
-			$template->set_var('VALUE', $format);
-		} else {
-			$template->set_var('VALUE', '');
-		}
-		$template->set_var('NAME', $title);
-		if(DATE_FORMAT == $format AND !isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
-			$template->set_var('SELECTED', 'selected="selected"');
-		} elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
-			$template->set_var('SELECTED', 'selected="selected"');
-		} else {
-			$template->set_var('SELECTED', '');
-		}
-		$template->parse('date_format_list', 'date_format_list_block', true);
-	}
+$template->set_block('main_block', 'date_format_list_block', 'date_format_list');
+foreach($DATE_FORMATS AS $format => $title)
+{
+    $format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
+    if($format != 'system_default') {
+        $template->set_var('VALUE', $format);
+    } else {
+        $template->set_var('VALUE', '');
+    }
+    $template->set_var('NAME', $title);
+    if($wb->get_session('DATE_FORMAT') == $format AND !isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
+        $template->set_var('SELECTED', 'selected="selected"');
+    } elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_DATE_FORMAT'])) {
+        $template->set_var('SELECTED', 'selected="selected"');
+    } else {
+        $template->set_var('SELECTED', '');
+    }
+    $template->parse('date_format_list', 'date_format_list_block', true);
+}
 
 // Insert time format list
-	$template->set_block('main_block', 'time_format_list_block', 'time_format_list');
-	foreach($TIME_FORMATS AS $format => $title) {
-		$format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
-		if($format != 'system_default') {
-			$template->set_var('VALUE', $format);
-		} else {
-			$template->set_var('VALUE', '');
-		}
-		$template->set_var('NAME', $title);
-		if(TIME_FORMAT == $format AND !isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
-			$template->set_var('SELECTED', 'selected="selected"');
-		} elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
-			$template->set_var('SELECTED', 'selected="selected"');
-		} else {
-			$template->set_var('SELECTED', '');
-		}
-		$template->parse('time_format_list', 'time_format_list_block', true);
-	}
+$template->set_block('main_block', 'time_format_list_block', 'time_format_list');
+foreach($TIME_FORMATS AS $format => $title)
+{
+    $format = str_replace('|', ' ', $format); // Add's white-spaces (not able to be stored in array key)
+    if($format != 'system_default') {
+        $template->set_var('VALUE', $format);
+    } else {
+        $template->set_var('VALUE', '');
+    }
+    $template->set_var('NAME', $title);
+    if($wb->get_session('TIME_FORMAT') == $format AND !isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
+        $template->set_var('SELECTED', 'selected="selected"');
+    } elseif($format == 'system_default' AND isset($_SESSION['USE_DEFAULT_TIME_FORMAT'])) {
+        $template->set_var('SELECTED', 'selected="selected"');
+    } else {
+    $template->set_var('SELECTED', '');
+    }
+    $template->parse('time_format_list', 'time_format_list_block', true);
+}
 // Insert language headings
-	$template->set_var(array(
-			'HEADING_MY_SETTINGS' => $HEADING['MY_SETTINGS'],
-			'HEADING_MY_EMAIL'    => $HEADING['MY_EMAIL'],
-			'HEADING_MY_PASSWORD' => $HEADING['MY_PASSWORD']
-			)
-	);
+$template->set_var(array(
+'HEADING_MY_SETTINGS' => $HEADING['MY_SETTINGS'],
+'HEADING_MY_EMAIL'    => $HEADING['MY_EMAIL'],
+'HEADING_MY_PASSWORD' => $HEADING['MY_PASSWORD']
+)
+);
 // Insert language text and messages
-	$template->set_var(array(
-			'HTTP_REFERER' => $_SESSION['HTTP_REFERER'],
-			'TEXT_SAVE'	=> $TEXT['SAVE'],
-			'TEXT_RESET' => $TEXT['RESET'],
-			'TEXT_CANCEL' => $TEXT['CANCEL'],
-			'TEXT_DISPLAY_NAME'	=> $TEXT['DISPLAY_NAME'],
-			'TEXT_EMAIL' => $TEXT['EMAIL'],
-			'TEXT_LANGUAGE' => $TEXT['LANGUAGE'],
-			'TEXT_TIMEZONE' => $TEXT['TIMEZONE'],
-			'TEXT_DATE_FORMAT' => $TEXT['DATE_FORMAT'],
-			'TEXT_TIME_FORMAT' => $TEXT['TIME_FORMAT'],
-			'TEXT_CURRENT_PASSWORD' => $TEXT['CURRENT_PASSWORD'],
-			'TEXT_NEW_PASSWORD' => $TEXT['NEW_PASSWORD'],
-			'TEXT_RETYPE_NEW_PASSWORD' => $TEXT['RETYPE_NEW_PASSWORD']
-			)
-	);
+$template->set_var(array(
+    'HTTP_REFERER' => $_SESSION['HTTP_REFERER'],
+    'TEXT_SAVE'	=> $TEXT['SAVE'],
+    'TEXT_RESET' => $TEXT['RESET'],
+    'TEXT_CANCEL' => $TEXT['CANCEL'],
+    'TEXT_DISPLAY_NAME'	=> $TEXT['DISPLAY_NAME'],
+    'TEXT_EMAIL' => $TEXT['EMAIL'],
+    'TEXT_LANGUAGE' => $TEXT['LANGUAGE'],
+    'TEXT_TIMEZONE' => $TEXT['TIMEZONE'],
+    'TEXT_DATE_FORMAT' => $TEXT['DATE_FORMAT'],
+    'TEXT_TIME_FORMAT' => $TEXT['TIME_FORMAT'],
+    'TEXT_CURRENT_PASSWORD' => $TEXT['CURRENT_PASSWORD'],
+    'TEXT_NEW_PASSWORD' => $TEXT['NEW_PASSWORD'],
+    'TEXT_RETYPE_NEW_PASSWORD' => $TEXT['RETYPE_NEW_PASSWORD']
+    )
+);
 
 // Insert module releated language text and messages
-	$template->set_var(array(
-			'MOD_PREFERENCE_PLEASE_SELECT'  => $MOD_PREFERENCE['PLEASE_SELECT'],
-			'MOD_PREFERENCE_SAVE_SETTINGS'  => $MOD_PREFERENCE['SAVE_SETTINGS'],
-			'MOD_PREFERENCE_SAVE_EMAIL'     => $MOD_PREFERENCE['SAVE_EMAIL'],
-			'MOD_PREFERENCE_SAVE_PASSWORD'  => $MOD_PREFERENCE['SAVE_PASSWORD'],
-			)
-	);
+$template->set_var(array(
+    'MOD_PREFERENCE_PLEASE_SELECT'  => $MOD_PREFERENCE['PLEASE_SELECT'],
+    'MOD_PREFERENCE_SAVE_SETTINGS'  => $MOD_PREFERENCE['SAVE_SETTINGS'],
+    'MOD_PREFERENCE_SAVE_EMAIL'     => $MOD_PREFERENCE['SAVE_EMAIL'],
+    'MOD_PREFERENCE_SAVE_PASSWORD'  => $MOD_PREFERENCE['SAVE_PASSWORD'],
+    )
+);
 // Insert error and/or success messages
-	$template->set_block('main_block', 'error_block', 'error_list');
-	$template->set_var('ERROR_VALUE', '');
-	if(sizeof($error)>0){
-		$template->set_var('ERROR_VALUE', $wb->format_message(implode('<br />',$error),'error'));
-		$template->parse('error_list', 'error_block', true);
-	} else {
-		$template->parse('error_list', '');
-	}
+$template->set_block('main_block', 'error_block', 'error_list');
+$template->set_var('ERROR_VALUE', '');
+if(sizeof($error)>0){
+    $template->set_var('ERROR_VALUE', $wb->format_message(implode('<br />',$error),'error'));
+    $template->parse('error_list', 'error_block', true);
+} else {
+    $template->parse('error_list', '');
+}
 
-	$template->set_block('main_block', 'success_block', 'success_list');
-	$template->set_var('SUCCESS_VALUE', '');
-	if(sizeof($success)!=0){
-			$template->set_var('SUCCESS_VALUE', $wb->format_message(implode('<br />',$success),'ok'));
-			$template->parse('success_list', 'success_block', true);
-	} else {
-		$template->parse('success_list', '');
-	}
+$template->set_block('main_block', 'success_block', 'success_list');
+$template->set_var('SUCCESS_VALUE', '');
+if(sizeof($success)!=0){
+    $template->set_var('SUCCESS_VALUE', $wb->format_message(implode('<br />',$success),'ok'));
+    $template->parse('success_list', 'success_block', true);
+} else {
+    $template->parse('success_list', '');
+}
 // Parse template for preferences form
-	$template->parse('main', 'main_block', false);
-	$template->pparse('output', 'page');
+$template->parse('main', 'main_block', false);
+$template->pparse('output', 'page');
Index: branches/2.8.x/wb/account/details.php
===================================================================
--- branches/2.8.x/wb/account/details.php	(revision 1776)
+++ branches/2.8.x/wb/account/details.php	(revision 1777)
@@ -18,19 +18,18 @@
 
 /* -------------------------------------------------------- */
 // 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>');
+if(!defined('WB_PATH')) {
+	require_once(dirname(dirname(__FILE__)).'/framework/globalExceptionHandler.php');
+	throw new IllegalFileException();
 }
 /* -------------------------------------------------------- */
 
 // Get entered values
-	$display_name = $wb->add_slashes(strip_tags($wb->get_post('display_name')));
-	$language = $wb->get_post('language');
-	$timezone = $wb->get_post('timezone')*60*60;
-	$date_format = $wb->get_post('date_format');
-	$time_format = $wb->get_post('time_format');
+	$display_name = strip_tags($wb->StripCodeFromText($wb->get_post('display_name')));
+	$language = strip_tags($wb->StripCodeFromText($wb->get_post('language')));
+	$timezone = intval($wb->StripCodeFromText($wb->get_post('timezone')))*60*60;
+	$date_format = strip_tags($wb->StripCodeFromText($wb->get_post('date_format')));
+	$time_format = strip_tags($wb->StripCodeFromText($wb->get_post('time_format')));
 
 // Update the database
 // $database = new database();
@@ -46,8 +45,9 @@
 		$success[] = $MOD_PREFERENCE['DETAILS_SAVED'];
 		$_SESSION['DISPLAY_NAME'] = $display_name;
 		$_SESSION['LANGUAGE'] = $language;
+		$_SESSION['TIME_FORMAT'] = $time_format;
+		$_SESSION['DATE_FORMAT'] = $date_format;
 		$_SESSION['TIMEZONE'] = $timezone;
-		$_SESSION['HTTP_REFERER'] = (($_SESSION['LANGUAGE']== LANGUAGE) ? $_SESSION['HTTP_REFERER'] : WB_URL);
 // Update date format
 		if($date_format != '') {
 			$_SESSION['DATE_FORMAT'] = $date_format;
Index: branches/2.8.x/wb/account/email.php
===================================================================
--- branches/2.8.x/wb/account/email.php	(revision 1776)
+++ branches/2.8.x/wb/account/email.php	(revision 1777)
@@ -18,36 +18,49 @@
 
 /* -------------------------------------------------------- */
 // 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>');
+if(!defined('WB_PATH')) {
+	require_once(dirname(dirname(__FILE__)).'/framework/globalExceptionHandler.php');
+	throw new IllegalFileException();
 }
 /* -------------------------------------------------------- */
 
 // Get entered values
-	$password = $wb->get_post('current_password');
-	$email = $wb->get_post('email');
+	$password = $wb->StripCodeFromText($wb->get_post('current_password'));
+	$email = strip_tags($wb->StripCodeFromText($wb->get_post('email')));
 // validate password
 	$sql  = "SELECT `user_id` FROM `".TABLE_PREFIX."users` ";
-	$sql .= "WHERE `user_id` = ".$wb->get_user_id()." AND `password` = '".md5($password)."'";
+	$sql .= "WHERE `user_id` = ".(int)$wb->get_user_id()." AND `password` = '".md5($password)."'";
 	$rowset = $database->query($sql);
 // Validate values
 	if($rowset->numRows() == 0) {
-		$error[] = $MESSAGE['PREFERENCES']['CURRENT_PASSWORD_INCORRECT'];
-	}else {
-		if(!$wb->validate_email($email)) {
-			$error[] = $MESSAGE['USERS']['INVALID_EMAIL'];
-		}else {
-			$email = $wb->add_slashes($email);
-// Update the database
-			$sql = "UPDATE `".TABLE_PREFIX."users` SET `email` = '".$email."' WHERE `user_id` = ".$wb->get_user_id();
-			$database->query($sql);
-			if($database->is_error()) {
-				$error[] = $database->get_error();
-			} else {
-				$success[] = $MESSAGE['PREFERENCES']['EMAIL_UPDATED'];
-				$_SESSION['EMAIL'] = $email;
-			}
-		}
+		$error[] = $MESSAGE['PREFERENCES_CURRENT_PASSWORD_INCORRECT'];
+	} else {
+        $sSessionEmail = $wb->get_session('EMAIL');
+    	if($sSessionEmail != "") {
+    		// Check if the email already exists
+    		$sql  = 'SELECT `user_id` FROM `'.TABLE_PREFIX.'users` WHERE `email` = \''.$email.'\' ';
+            $sql .= 'AND `email` != \''.$sSessionEmail. '\' ';
+    		if($database->get_one($sql)){
+    			$error[] = ($MESSAGE['USERS_EMAIL_TAKEN']);
+    		} else {
+    			if(!$wb->validate_email($email)){
+    				$error[] = ($MESSAGE['USERS_INVALID_EMAIL']);
+    			} else {
+        			$email = mysql_escape_string($email);
+                    // Update the database
+        			$sql = "UPDATE `".TABLE_PREFIX."users` SET `email` = '".$email."' WHERE `user_id` = ".$wb->get_user_id();
+        			$database->query($sql);
+        			if($database->is_error()) {
+        				$error[] = $database->get_error();
+        			} else {
+        				$success[] = $MESSAGE['PREFERENCES_EMAIL_UPDATED'];
+        				$_SESSION['EMAIL'] = $email;
+        			}
+        		}
+
+    		}
+    	} else {
+    		$error[] = ($MESSAGE['SIGNUP_NO_EMAIL']);
+    	}
+
 	}
Index: branches/2.8.x/wb/account/signup_form.php
===================================================================
--- branches/2.8.x/wb/account/signup_form.php	(revision 1776)
+++ branches/2.8.x/wb/account/signup_form.php	(revision 1777)
@@ -17,13 +17,11 @@
 
 /* -------------------------------------------------------- */
 // Must include code to stop this file being accessed directly
-if(defined('WB_PATH') == false)
-{
-		die('<h2 style="color:red;margin:3em auto;text-align:center;">Cannot access this file directly</h2>');
+if(!defined('WB_PATH')) {
+	require_once(dirname(dirname(__FILE__)).'/framework/globalExceptionHandler.php');
+	throw new IllegalFileException();
 }
 /* -------------------------------------------------------- */
-//print '<pre style="text-align: left;"><strong>function '.__FUNCTION__.'( '.''.' );</strong>  basename: '.basename(__FILE__).'  line: '.__LINE__.' -> <br />';
-//print_r( $_SESSION['HTTP_REFERER'] ); print '</pre>';  die();// flush ();sleep(10);
 
 // load module language file
 $lang = (dirname(__FILE__)) . '/languages/' . LANGUAGE . '.php';
@@ -45,10 +43,11 @@
 } else {
 	$output = '';
 	msgQueue::clear();
-	unset($_SESSION['username']);
-	unset($_SESSION['language']);
+	unset($_SESSION['USERNAME']);
+	unset($_SESSION['LANGUAGE']);
 	unset($_SESSION['DISPLAY_NAME']);
-	unset($_SESSION['email']);
+	unset($_SESSION['EMAIL']);
+	unset($_SESSION['TIMEZONE']);
 }
 
 if($_SESSION['display_form']){
@@ -111,9 +110,9 @@
 	$_SESSION['submitted_when'] = $iTime;
 	$oTpl->set_var(array(
 		'SET_TIME' => $iTime,
-		'DISPLAY_USER' => isset($_SESSION['username']) ? $_SESSION['username'] : '',
-		'DISPLAY_NAME' => isset($_SESSION['DISPLAY_NAME']) ? $_SESSION['DISPLAY_NAME'] : '',
-		'EMAIL' => isset($_SESSION['email']) ? $_SESSION['email'] : '',
+		'DISPLAY_USER' => $wb->get_session('USERNAME'),
+		'DISPLAY_NAME' => $wb->get_session('DISPLAY_NAME'),
+		'EMAIL' => $wb->get_session('EMAIL'),
 		)
 	);
 
@@ -125,7 +124,7 @@
 			$sAutoLanguage = strtoupper($matches[1]);
 		}
 	}
-	$sAutoLanguage = isset($_SESSION['language']) ? $_SESSION['language'] : $sAutoLanguage;
+	$sAutoLanguage = isset($_SESSION['LANGUAGE']) ? $_SESSION['LANGUAGE'] : $sAutoLanguage;
 	// Insert language values
 	$sql  = 'SELECT `name`, `directory` FROM `'.TABLE_PREFIX.'addons` ';
 	$sql .= 'WHERE `type` = \'language\' ';
Index: branches/2.8.x/wb/framework/class.wb.php
===================================================================
--- branches/2.8.x/wb/framework/class.wb.php	(revision 1776)
+++ branches/2.8.x/wb/framework/class.wb.php	(revision 1777)
@@ -267,9 +267,9 @@
 	}
 
 	/**
-	 * wb::send_header()
      * replace header('Location:...  with new method
 	 * if header send failed you get a manuell redirected link, so script don't break
+	 *
 	 * @param string $location, redirected url
 	 * @return void
 	 */
@@ -529,4 +529,21 @@
 		}
 	}
 
+	/**
+     *
+     * remove [[text]], link, script, scriptblock and styleblock from a given string
+     * and return the cleaned string
+	 *
+	 * @param string $sValue
+     * @returns
+     *    false: if @param is not a string
+     *    string: cleaned string
+	 */
+	public function StripCodeFromText($sValue){
+        if(!is_string($sValue)) { return false; }
+        $sPattern = '/\[\[.*?\]\]\s*?|<!--\s+.*?-->\s*?|<(script|link|style)[^>]*\/>\s*?|<(script|link|style)[^>]*?>.*?<\/\2>\s*?|\s*$/isU';
+        return (preg_replace ($sPattern, '', $sValue));
+	}
+
+
 }
Index: branches/2.8.x/wb/templates/wb_theme/css/screen.css
===================================================================
--- branches/2.8.x/wb/templates/wb_theme/css/screen.css	(revision 1776)
+++ branches/2.8.x/wb/templates/wb_theme/css/screen.css	(revision 1777)
@@ -3,8 +3,8 @@
 html{ font-family :Verdana, "Trebuchet MS", Arial, Helvetica, sans-serif; font-size :100.1%; font-weight :normal; color :#333333; overflow :auto; overflow-y :scroll; }
 body{ margin :0 auto; padding :0px; background :#a8bccb; text-align :left; font-size :0.8em; }
 /*  */
-div.main { border :0px none #666666; margin :0px auto 1em auto; min-width :60em; max-width :90em; font-size :1.0em; padding :4px; width : 75%; overflow :hidden; }
-.td { clear :both; font-size :1.0em; margin :0 auto; text-align :center; width : 99%; }
+div.main { border :0px none #666666; margin :0px auto 1em auto; min-width :60em; max-width :90em; font-size :1.0em; padding : 15px; width : 78%; overflow :hidden; }
+.td { clear :both; font-size :1.0em; margin :0 auto; text-align :center; width : 100%; }
 div.main .table { background :url(../images/bgtitle.png) #ffffff repeat-x; margin :0 auto; overflow :auto; width :100%; }
 .wrapper { position :relative; display :block; overflow :auto; width :inherit; }
 .content { padding :10px; text-align :left; overflow :hidden; }
@@ -50,14 +50,7 @@
 .spacer { line-height :1em; margin-right :0.5em; position :relative; }
 /* ************************************************************************** */
 /* DIV-mbox to show selector or simply content only ************************* */
-div.mbox {
-   padding : 5px 10px;
-   margin : 5px auto;
-   background-color :#ffffff;
-   color :#330033;
-   font-size :1em;
-   display :block;
-}
+div.mbox { padding :5px 10px; margin :5px auto; background-color :#ffffff; color :#330033; font-size :1em; display :block; }
  	div.mbox div { }
 		div.mbox div a { font-size :1em; color :#0052a1; }
 		div.mbox div a:hover { color :#0099ff; }
@@ -65,18 +58,8 @@
 		div.mbox div p { margin :0; padding :0 0 0.6em 0; }
 div.mbox:hover { }
 /* extension for mbox to show additional icons on left side ***************** */
-div.mbox-icon {
-   background-repeat :no-repeat;
-   background-image :url(icons/info_50.png);
-   background-position :15px 50%;
-   padding : 10px 5px;
-   min-height :25px;
-}
-	div.mbox-icon div {
-   margin-left :70px;
-   border-left :0px outset;
-   padding-left :5px;
-}
+div.mbox-icon { background-repeat :no-repeat; background-image :url(icons/info_50.png); background-position :15px 50%; padding :10px 5px; min-height :25px; }
+	div.mbox-icon div { margin-left :70px; border-left :0px outset; padding-left :5px; }
 div.mbox-icon16 { background-repeat :no-repeat; background-image :url(icons/info_16.png); background-position :5px 50%; padding :5px; min-height :10px; }
 	div.mbox-icon16 div { margin-left :30px; border-left :4px outset; padding-left :5px; }
 /* coloring of the mbox and other boxes also ******************************** */
@@ -116,8 +99,9 @@
 .left{ text-align :left; }
 .hide, .none { display :none; height :0; }
 #hide1, #hide2, #hide3 { display :none; }
-.right{ text-align :right; }
-.rBold{ text-align :right; font-weight :bold; }
+.right{ text-align :right; vertical-align :middle; }
+.rBold{ text-align :right; font-weight :bold; vertical-align :middle;  }
+.rightTop{ text-align :right; vertical-align : top; }
 .bold{ font-weight :bold; }
 .grey { color :#999999; }
 .row_0 { background-color :#fff; }
@@ -143,22 +127,82 @@
 /* new tablelayout without table attribute  */
 div.settings_table { margin :0 auto; width :90%; }
 form.settings_table { border :1px none #eeee; font-family :verdana,arial,helvetica,sans-serif; margin :5px auto; padding :5px; }
-   form.settings_table fieldset { border :1px none #eeeeee; display :block; line-height :1.0em; margin-bottom :1px; padding :3px 0px 3px 0px; }
+   form.settings_table fieldset { border :1px none #eeeeee; display :block; line-height :1.0em; margin :1px auto; padding :3px 0px 3px 0px; }
    form input[type="file"] { width :80%; border :1px solid black; background-color :#ccccff; }
    legend.settings_table ,
-   form.settings_table legend { border :none; color :#006699; font-size :140%; margin :1em; padding :0; }
+   form.settings_table legend {
+   border :none;
+   color :#006699;
+   font-size :140%;
+   margin :5px;
+   padding :0;
+}
    form.settings_table div.sub-row { background-color :transparent !important; background-color :#eeeeee; }
    form.settings_table label { text-align :right; margin : 1px auto; }
-   form.settings_table label.setting_name { clear :left; color :#333333; vertical-align :top; display :block; margin :3px auto; min-height :1.6em; float :left; padding-right :5px; width :25%; }
-   form.settings_table fieldset div.input { padding :0; margin :0 auto; vertical-align :top; overflow :hidden; display :inline; line-height :2em; min-height :1em; list-style-type :none; width :60%; }
+   form.settings_table label.setting_name {
+   clear :left;
+   color :#333333;
+   vertical-align :top;
+   display :block;
+   margin :3px auto;
+   min-height :1.6em;
+   float :left;
+   padding-right :5px;
+   width :30%;
+}
+   form.settings_table fieldset div.input {
+   padding :0;
+   margin :0 auto;
+   vertical-align :top;
+   overflow :hidden;
+   display :inline;
+   line-height :2em;
+   min-height :1em;
+   list-style-type :none;
+   width :60%;
+}
    form.settings_table fieldset div.input input.radio { margin :0.8em auto; border :none; padding-left :6px; }
-   form.settings_table fieldset div.input label { margin :6px auto; padding-left :6px; min-height :1em; width :35%; float :none; display :inline; vertical-align :top; }
+   form.settings_table fieldset div.input label {
+   margin :6px auto;
+   padding-left :6px;
+   min-height :1em;
+   width :35%;
+   float :none;
+   display :inline;
+   vertical-align :top;
+}
    form.settings_table input[type="text"],
-   form.settings_table input[type="password"] { border :1px solid #666666; margin : 0px auto; padding-left : 5px; width :72%; }
+   form.settings_table input[type="password"] {
+   border :1px solid #666666;
+   margin :0px auto;
+   padding-left :5px;
+   width : 59%;
+}
    form.settings_table input.radio { border :1px none #666666; margin :0px auto; padding-left :0.5em; height :1em; }
-   form.settings_table input[type="button"].button { border :1px solid #666666; color :#000000; text-align :left; font-weight :bold; background-color :#dddddd; margin : 2px auto; padding :2px 0px 2px 6px; width : 70%; }
-   form.settings_table textarea { border :1px solid #666666; margin :3px auto; padding-left :0.5em; min-height :1em; width :72%; }
-   form.settings_table select { border :1px solid #666666; margin :3px auto; padding-left :0.5em; min-height :1em; width :73%; }
+   form.settings_table input[type="button"].button {
+   border :1px solid #666666;
+   color :#000000;
+   text-align :left;
+   font-weight :bold;
+   background-color :#dddddd;
+   margin :2px auto;
+   padding :2px 0px 2px 6px;
+   width :60%;
+}
+   form.settings_table textarea {
+   border :1px solid #666666;
+   margin :3px auto;
+   padding-left :0.5em;
+   min-height :1em;
+   width :60%;
+}
+   form.settings_table select {
+   border :1px solid #666666;
+   margin :3px auto;
+   padding-left :0.5em;
+   min-height :1em;
+   width :60%;
+}
 /* */
 div.content_box form { }
 div.sub-row { background-color :#eeeeee; margin : 1px auto; overflow :hidden; padding :0; }
