diff --git a/e107_admin/auth.php b/e107_admin/auth.php
index 4c10da17b..fe9f01099 100644
--- a/e107_admin/auth.php
+++ b/e107_admin/auth.php
@@ -2,7 +2,7 @@
 /*
  * e107 website system
  *
- * Copyright (C) 2008-2009 e107 Inc (e107.org)
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
  * Released under the terms and conditions of the
  * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
  *
@@ -66,9 +66,12 @@ if (ADMIN)
 		// XXX LOGIN AS Temporary solution, we need something smarter, e.g. reserved message stack 'admin' which will be always printed
 		// inside admin area
 		if(e107::getUser()->getSessionDataAs())
-		{ // TODO - lan
+		{  
 			$asuser = e107::getSystemUser(e107::getUser()->getSessionDataAs(), false);
-			e107::getMessage()->addInfo('Successfully logged in as '.($asuser->getId()  ? $asuser->getName().' ('.$asuser->getValue('email').')' : 'unknown'). ' <a href="'.e_ADMIN_ABS.'users.php?mode=main&amp;action=logoutas">[logout]</a>');
+			
+			$lanVars = array ('x' => ($asuser->getId() ? $asuser->getName().' ('.$asuser->getValue('email').')' : 'unknown')) ;
+			e107::getMessage()->addInfo($tp->lanVars(ADLAN_164, $lanVars).' <a href="'.e_ADMIN_ABS.'users.php?mode=main&amp;action=logoutas">['.LAN_LOGOUT.']</a>');
+			
 		}
 		// NEW, legacy 3rd party code fix, header called inside the footer o.O
 		if(deftrue('e_ADMIN_UI'))
@@ -297,7 +300,7 @@ class auth
 
 
 		$text = "<form id='admin-login' method='post' action='".e_SELF."' {$incChap} >
-		<div id='logo' ><img src='".e_IMAGE."logo_template_large.png' alt='login' /></div>
+		<div id='logo' ><img src='".e_IMAGE."logo_template_large.png' alt='".LAN_LOGIN."' /></div>
 		<div id='login-admin' class='center'>
 		<div>";
 
@@ -360,7 +363,7 @@ class auth
 		    
 		e107::getRender()->tablerender("", $text, 'admin-login');
 		echo "<div class='row-fluid'>
-			<div class='center' style='margin-top:25%; color:silver'><span style='padding:0 40px 0 0px;'><a href='http://e107.org'>Powered by e107</a></span> <a href='".e_BASE."index.php'>Return to Website</a></div>
+						<div class='center' style='margin-top:25%; color:silver'><span style='padding:0 40px 0 0px;'><a href='http://e107.org'>".ADLAN_165."</a></span> <a href='".e_BASE."index.php'>".ADLAN_166."</a></div>
 			</div>";
 	}
 
diff --git a/e107_admin/core_image.php b/e107_admin/core_image.php
index 5debfd7f0..eebc16ef2 100644
--- a/e107_admin/core_image.php
+++ b/e107_admin/core_image.php
@@ -1175,6 +1175,7 @@ $core_image = array (
       'banner_sql.php' => '950a1eda9eed1f1d735db4231dafc09d',
       'banner_template.php' => '6cce6a757e0a9aa609ec52e04db9e527',
       'e_menu.php' => '8173c4db24ee86f28a6cc0416b7f42f1',
+      'e_help.php' => 'TODO-Newfile',
       'e_shortcode.php' => 'dd410b7adac946a6bdcc9fa27a01d536',
       'plugin.xml' => '3ee13c88f3d07cbd2bdfd68944a7b933',
     ),
diff --git a/e107_admin/eurl.php b/e107_admin/eurl.php
index b555ee422..b890cb6ef 100644
--- a/e107_admin/eurl.php
+++ b/e107_admin/eurl.php
@@ -212,15 +212,23 @@ class eurl_admin_ui extends e_admin_controller_ui
 		$tp = e107::getParser();
 		$cfg = e107::getConfig();
 
+
+
 		if(!empty($_POST['saveSimpleSef']))
 		{
-			if(is_string($this->getConfig()->get('e_url_alias')))
+			/*if(is_string($this->getConfig()->get('e_url_alias')))
 			{
 				$cfg->setPostedData('e_url_alias', array(e_LAN => $_POST['e_url_alias']), false);
 			}
 			else
 			{
 				$cfg->setPref('e_url_alias/'.e_LAN, $_POST['e_url_alias']);
+			}*/
+
+			foreach($_POST['urlstatus'] as $k=>$v)
+			{
+				$val = (!empty($v)) ? $tp->filter($k,'w') : 0;
+				$cfg->setPref('e_url_list/'.$k, $val);
 			}
 
 			$cfg->save(true, true, true);
@@ -228,10 +236,11 @@ class eurl_admin_ui extends e_admin_controller_ui
 		}
 
 		$pref = e107::getPref('e_url_alias');
+		$sefActive = e107::getPref('e_url_list');
 
 		if(empty($eUrl))
 		{
-			return; 		
+			return false;
 		}
 
 		$text = "<div class='e-container'>";
@@ -241,10 +250,21 @@ class eurl_admin_ui extends e_admin_controller_ui
 
 		$home = "<small>".SITEURL.'</small>';
 
+
+		//  e107::getDebug()->log($sefActive);
+
 		foreach($eUrl as $plug=>$val)
 		{
-			$text .= "<h4>".$plug."</h4>";
-			$text .= "<table class='table table-striped table-bordered'>";
+			$active = !empty($sefActive[$plug]) ? true : false;
+			$text .= "<table class='table table-striped table-bordered' style='margin-bottom:40px'>
+			<colgroup>
+				<col style='min-width:200px' />
+				<col style='width:45%' />
+				<col style='width:45%' />
+			</colgroup>";
+
+			$name = 'urlstatus['.$plug.']';
+			$text .= "<tr class='active'><td ><h4>".$plug."</h4></td><td colspan='2'>".$frm->radio_switch($name,$active)."</td></tr>";
 			$text .= "<tr><th>Key</th><th>Regular Expression</th>
 
 
@@ -263,10 +283,10 @@ class eurl_admin_ui extends e_admin_controller_ui
 					$aliasRender    = str_replace('{alias}', $aliasForm, $v['regex']);
 
 					$text .= "<tr>
-					<td style='width:5%'>".$k."</td>
-					<td style='width:20%'>".$aliasRender."</td>
+					<td >".$k."</td>
+					<td >".$aliasRender."</td>
 
-					<td style='width:30%'>". $v['redirect']."</td>
+					<td >". $v['redirect']."</td>
 					</tr>";
 			}
 		
@@ -274,7 +294,7 @@ class eurl_admin_ui extends e_admin_controller_ui
 			$text .= "</table>";
 		}	
 
-	//	$text .= "<div class='buttons-bar center'>".$frm->button('saveSimpleSef',LAN_SAVE." (".e_LANGUAGE.")",'submit')."</div>";
+		$text .= "<div class='buttons-bar center'>".$frm->button('saveSimpleSef',LAN_SAVE, 'submit')."</div>";
 		$text .= $frm->close();
 		$text .= "</div>";
 		return $text;		
diff --git a/e107_admin/image.php b/e107_admin/image.php
index c4056cff9..6f1cb0aba 100644
--- a/e107_admin/image.php
+++ b/e107_admin/image.php
@@ -553,7 +553,7 @@ class media_form_ui extends e_admin_form_ui
 			$valW = vartrue($curval[$key]['w']);
 			$valH = vartrue($curval[$key]['h']);
 		
-			$text .= "<div style='margin-bottomp:8px;text-align:right:width:400px'>".$title.": ";
+			$text .= "<div style='margin-bottom:8px; text-align:right; width:400px'>".$title.": ";
 			$text .= "<input class='e-tip e-spinner input-small' placeholder='ex. 400' style='text-align:right' type='text' name='resize_dimensions[{$key}][w]' value='$valW' size='5' title='maximum width in pixels' /> X ";
 			$text .= "<input class='e-tip e-spinner input-small' placeholder='ex. 400' style='text-align:right' type='text' name='resize_dimensions[{$key}][h]' value='$valH' size='5' title='maximum height in pixels' />";
 			$text .= "</div>";
@@ -2625,7 +2625,7 @@ class media_admin_ui extends e_admin_ui
 		foreach($_POST['batch_selected'] as $key=>$file)
 		{
 
-			$oldpath = e_IMPORT.$tp->filter($file, 'w');
+			$oldpath = e_IMPORT.$tp->filter($file, 'file');
 
 			if($_POST['batch_category'] == '_avatars_public' || $_POST['batch_category'] == '_avatars_private')
 			{
diff --git a/e107_admin/menus.php b/e107_admin/menus.php
index b948e2a43..b8d282838 100644
--- a/e107_admin/menus.php
+++ b/e107_admin/menus.php
@@ -2,7 +2,7 @@
 /*
  * e107 website system
  *
- * Copyright (C) 2008-2013 e107 Inc (e107.org)
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
  * Released under the terms and conditions of the
  * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
  *
@@ -607,8 +607,8 @@ if($_SERVER['E_DEV_MENU'] == 'true')
 
 		$text = '
 			<ul class="nav nav-tabs">
-				<li class="active"><a href="#plugins" data-toggle="tab">Plugins</a></li>	
-				<li><a href="#custom" data-toggle="tab">Custom</a></li>	
+				<li class="active"><a href="#plugins" data-toggle="tab">'.ADLAN_CL_7.'</a></li>	
+				<li><a href="#custom" data-toggle="tab">'.LAN_CUSTOM.'</a></li>	
 			</ul>
 			<div class="tab-content">';	
 		
@@ -912,7 +912,7 @@ class e_layout
 		
 		// return print_a($this->menuData,true);
 		$text = "<div class='menu-panel'>";
-		$text .= "<div class='menu-panel-header' title=\"".MENLAN_34."\">Area ".$area."</div>\n";
+		$text .= "<div class='menu-panel-header' title=\"".MENLAN_34."\">".MENLAN_14." ".$area."</div>\n";
 		$text .= $frm->open('form-area-'.$area,'post',e_SELF);
 		$text .= "<ul id='area-".$area."' class='sortable unstyled list-unstyled'>
 			<li>&nbsp;</li>";
diff --git a/e107_admin/plugin.php b/e107_admin/plugin.php
index f78ee1494..9735122d1 100644
--- a/e107_admin/plugin.php
+++ b/e107_admin/plugin.php
@@ -792,6 +792,17 @@ class pluginManager{
 				}
 				else
 				{	// Deprecated - plugin uses plugin.php
+					$eplug_table_names = null;
+					$eplug_prefs = null;
+					$eplug_comment_ids= null;
+					$eplug_array_pref= null;
+					$eplug_menu_name = null;
+					$eplug_link = null;
+					$eplug_link_url = null;
+					$eplug_link_name = null;
+					$eplug_userclass = null;
+					$eplug_version = null;
+
 					include(e_PLUGIN.$plug['plugin_path'].'/plugin.php');
 
 					$func = $eplug_folder.'_uninstall';
@@ -807,7 +818,7 @@ class pluginManager{
 							$result = $plugin->manage_tables('remove', $eplug_table_names);
 							if ($result !== TRUE)
 							{
-								$text .= EPL_ADLAN_27.' <b>'.$mySQLprefix.$result.'</b> - '.EPL_ADLAN_30.'<br />';
+								$text .= EPL_ADLAN_27.' <b>'.MPREFIX.$result.'</b> - '.EPL_ADLAN_30.'<br />';
 							}
 							else
 							{
@@ -841,7 +852,7 @@ class pluginManager{
 
 					if ($eplug_menu_name)
 					{
-						$sql->db_Delete('menus', "menu_name='{$eplug_menu_name}' ");
+						$sql->delete('menus', "menu_name='{$eplug_menu_name}' ");
 					}
 
 					if ($eplug_link)
@@ -890,7 +901,7 @@ class pluginManager{
 
 			$this->show_message($text, E_MESSAGE_SUCCESS);
 		 //	$ns->tablerender(EPL_ADLAN_1.' '.$tp->toHtml($plug['plugin_name'], "", "defs,emotes_off,no_make_clickable"), $text);
-			$text = '';
+
 			$this->action = 'installed';
 			return;
 
@@ -924,12 +935,12 @@ class pluginManager{
 			
 			echo $mes->render(); 
 			
-			return; 
+			return true;
 
 			// ----------------- Everything below is unused. 
-			
+	/*
 			extract($_FILES);
-			/* check if e_PLUGIN dir is writable ... */
+
 			if(!is_writable(e_PLUGIN))
 			{
 				// still not writable - spawn error message 
@@ -993,7 +1004,7 @@ class pluginManager{
 						exit;
 					}
 
-					// ok it looks like the unarc succeeded - continue */
+					// ok it looks like the unarc succeeded - continue
 
 					// get folder name ...  
 					
@@ -1001,24 +1012,24 @@ class pluginManager{
 
 					if(file_exists(e_PLUGIN.$folderName."/plugin.php") || file_exists(e_PLUGIN.$folderName."/plugin.xml"))
 					{
-						/* upload is a plugin */
+
 						e107::getRender()->tablerender(EPL_ADLAN_40, EPL_ADLAN_43);
 					}
 					elseif(file_exists(e_PLUGIN.$folderName."/theme.php") || file_exists(e_PLUGIN.$folderName."/theme.xml"))
 					{
-						/* upload is a menu */
+
 						e107::getRender()->tablerender(EPL_ADLAN_40, EPL_ADLAN_45);
 					}
 					else
 					{
-						/* upload is unlocatable */
+						// upload is unlocatable
 						e107::getRender()->tablerender(EPL_ADLAN_40, EPL_ADLAN_98.' '.$fileList[0]['stored_filename']);
 					}
 
-					/* attempt to delete uploaded archive */
+					// attempt to delete uploaded archive
 					@unlink(e_PLUGIN.$archiveName);
 				}
-			}
+			}*/
    }
 
 
@@ -1027,7 +1038,7 @@ class pluginManager{
 
    function pluginInstall()
    {
-        global $plugin,$admin_log,$eplug_folder;
+        global $plugin;
 		$text = $plugin->install_plugin($this->id);
 		
 		$log = e107::getAdminLog();
@@ -1065,6 +1076,8 @@ class pluginManager{
    		$mes 		= e107::getMessage(); 
 		$plug 		= $plugin->getinfo($this->id);
 
+		$text = '';
+
 		$_path = e_PLUGIN.$plug['plugin_path'].'/';
 		if(file_exists($_path.'plugin.xml'))
 		{
@@ -1218,7 +1231,7 @@ class pluginManager{
 
 			if(!is_writable(e_PLUGIN))
 			{
-			   	e107::getRender()->tablerender(EPL_ADLAN_40, EPL_ADLAN_44);
+			   	$text = EPL_ADLAN_44;
 			}
 			else
 			{
@@ -1265,7 +1278,6 @@ class pluginManager{
 
 		global $plugin;
 		$frm = e107::getForm();
-		$e107 = e107::getInstance();
 		$mes = e107::getMessage();
 
 		if($this->action == "" || $this->action == "installed")
@@ -1748,7 +1760,7 @@ class pluginLanguage
 		
 			if(!empty($_GET['newplugin']) && $_GET['step']==2)
 			{
-				$plugin = e107::getParser()->filter($_GET['newplugin'],'w');
+				$plugin = e107::getParser()->filter($_GET['newplugin'],'file');
 				$this->step2($plugin);
 				return false;
 			}
@@ -2204,7 +2216,7 @@ class pluginBuilder
 			
 			if(!empty($_GET['newplugin']))
 			{
-				$this->pluginName = e107::getParser()->filter($_GET['newplugin'],'w');
+				$this->pluginName = e107::getParser()->filter($_GET['newplugin'],'file');
 			}
 			
 			if(!empty($_GET['createFiles']))
@@ -2366,7 +2378,7 @@ class pluginBuilder
 			$tp = e107::getParser();
 
 			
-			$newplug = $tp->filter($_GET['newplugin'],'w');
+			$newplug = $tp->filter($_GET['newplugin'],'file');
 			$this->pluginName = $newplug;
 
 			$sqlFile = e_PLUGIN.$newplug."/".$newplug."_sql.php";
@@ -3579,7 +3591,7 @@ TEMPLATE;
 			
 			
 			unset($_POST['step'],$_POST['xml'], $_POST['addons']);
-		$thePlugin = $tp->filter($_POST['newplugin']);
+		$thePlugin = $tp->filter($_POST['newplugin'],'file');
 
 $text = "\n
 // Generated e107 Plugin Admin Area 
diff --git a/e107_admin/prefs.php b/e107_admin/prefs.php
index 636df5918..51d15fcc1 100644
--- a/e107_admin/prefs.php
+++ b/e107_admin/prefs.php
@@ -1836,9 +1836,9 @@ foreach($libraries as $machineName => $library)
 	$text .= '<tr>';
 	$text .= '<td>' . $name . '</td>';
 	$text .= '<td class="text-center">' . $provider . '</td>';
-	$text .= '<td class="text-center">' . $details['version'] . '</td>';
+	$text .= '<td class="text-center">' . varset($details['version']) . '</td>';
 	$text .= '<td class="text-center">' . $status . '</td>';
-	$text .= '<td>' . $details['error_message'] . '</td>';
+	$text .= '<td>' . varset($details['error_message']) . '</td>';
 	$text .= '<td>' . $links . '</td>';
 	$text .= '</tr>';
 }
diff --git a/e107_admin/users.php b/e107_admin/users.php
index b35190b29..93253a5f2 100644
--- a/e107_admin/users.php
+++ b/e107_admin/users.php
@@ -57,7 +57,7 @@ class users_admin extends e_admin_dispatcher
 		'main/add' 		=> array('caption'=> LAN_USER_QUICKADD, 'perm' => '4|U0|U1'),
 		'main/prefs' 	=> array('caption'=> LAN_OPTIONS, 'perm' => '4|U2'),
 		'main/ranks'	=> array('caption'=> LAN_USER_RANKS, 'perm' => '4|U3'),
-		'main/maintenance'  => array('caption'=>'Maintenance', 'perms'=>'4')
+		'main/maintenance'  => array('caption'=> LAN_MAINTENANCE, 'perms'=>'4')
 	//	'ranks/list'	=> array('caption'=> LAN_USER_RANKS, 'perm' => '4|U3')
 	);
 	
@@ -236,7 +236,7 @@ JS;
 class users_admin_ui extends e_admin_ui
 {
 		
-	protected $pluginTitle = LAN_USER;
+	protected $pluginTitle = ADLAN_36;
 	protected $pluginName = 'core';
 	protected $eventName = 'user';
 	protected $table = "user";
@@ -282,7 +282,7 @@ class users_admin_ui extends e_admin_ui
  		'user_login' 		=> array('title' => LAN_USER_03,	'tab'=>0, 'type' => 'text',	'inline'=>true, 'data'=>'str', 'width' => 'auto'), // Real name (no real vetting)
  		'user_customtitle' 	=> array('title' => LAN_USER_04,	'tab'=>0, 'type' => 'text',	'inline'=>true, 'data'=>'str', 'width' => 'auto'), // No real vetting
  		'user_password' 	=> array('title' => LAN_PASSWORD,	'tab'=>0, 'type' => 'method',	'data'=>'safestr', 'width' => 'auto'), //TODO add md5 option to form handler?
-		'user_sess' 		=> array('title' => 'Session',		'tab'=>0, 'noedit'=>true, 'type' => 'text',	'width' => 'auto'), // Photo
+		'user_sess' 		=> array('title' => USRLAN_175,		'tab'=>0, 'noedit'=>true, 'type' => 'text',	'width' => 'auto'), // Photo
  		'user_image' 		=> array('title' => LAN_USER_07,	'tab'=>0, 'type' => 'dropdown',	'data'=>'str', 'width' => 'auto'), // Avatar
  		'user_email' 		=> array('title' => LAN_EMAIL,		'tab'=>0, 'type' => 'text', 'inline'=>true, 'data'=>'str',	'width' => 'auto', 'writeParms'=>array('size'=>'xxlarge')),
 		'user_hideemail' 	=> array('title' => LAN_USER_10,	'tab'=>0, 'type' => 'boolean', 'data'=>'int',	'width' => 'auto', 'thclass'=>'center', 'class'=>'center', 'filter'=>true, 'batch'=>true, 'readParms'=>'trueonly=1'),
@@ -292,7 +292,7 @@ class users_admin_ui extends e_admin_ui
 		'user_lastvisit' 	=> array('title' => LAN_USER_15,	'tab'=>0, 'noedit'=>true, 'type' => 'datestamp', 	'width' => 'auto'),
 		'user_currentvisit' => array('title' => LAN_USER_16,	'tab'=>0, 'noedit'=>true, 'type' => 'datestamp', 	'width' => 'auto'),
 		'user_comments' 	=> array('title' => LAN_COMMENTS,	'tab'=>0, 'noedit'=>true, 'type' => 'int', 	'width' => 'auto','thclass'=>'right','class'=>'right'),
-		'user_lastpost' 	=> array('title' => 'Last Post',	'tab'=>0, 'noedit'=>true, 'type' => 'datestamp', 	'width' => 'auto'),
+		'user_lastpost' 	=> array('title' => USRLAN_195,	'tab'=>0, 'noedit'=>true, 'type' => 'datestamp', 	'width' => 'auto'),
 		'user_ip' 			=> array('title' => LAN_USER_18,	'tab'=>0, 'noedit'=>true, 'type' => 'ip',		'width' => 'auto'),
 		//	'user_prefs' 		=> array('title' => LAN_USER_20,	'type' => 'text', 	'width' => 'auto'),
 		'user_visits' 		=> array('title' => LAN_USER_21,	'tab'=>0, 'noedit'=>true, 'type' => 'int', 'width' => 'auto','thclass'=>'right','class'=>'right'),
@@ -1348,7 +1348,9 @@ class users_admin_ui extends e_admin_ui
 			if ($allData['data']['user_name'] != $allData['data']['user_loginname'])
 			{
 				$allData['data']['user_name'] = $allData['data']['user_loginname'];
-				$mes->addWarning(str_replace('[x]', $allData['data']['user_loginname'], USRLAN_237));
+				$message = str_replace('[x]', $allData['data']['user_loginname'], USRLAN_237);
+				$message = e107::getParser()->toHtml($message,true);
+				$mes->addWarning($message);
 				//$allData['errors']['user_name'] = ERR_FIELDS_DIFFERENT;
 			}
 		}
@@ -1927,11 +1929,10 @@ class users_admin_ui extends e_admin_ui
 		$tp = e107::getParser();
 
 		$age = array(
-			1=>'1 hour', 3=>'3 hours', 6=> "6 hours", 12=>'12 hours', 24 => "24 hours", 48 => '48 hours', 72 => '3 days'
-		);
+			1=> LAN_UI_1_HOUR, 3=> LAN_UI_3_HOURS, 6=> LAN_UI_6_HOURS, 12=> LAN_UI_12_HOURS, 24 => LAN_UI_24_HOURS, 48 => LAN_UI_48_HOURS, 72 => LAN_UI_3_DAYS);
 
 		$count = $sql->count('user','(*)',"user_ban = 2 ");
-		$caption = $tp->lanVars('Resend account activation email to unactivated users.',$count);
+		$caption = $tp->lanVars(USRLAN_252,$count);
 
 		$text = $frm->open('userMaintenance','post');
 
@@ -1943,7 +1944,7 @@ class users_admin_ui extends e_admin_ui
 		</colgroup>
 		<tr><td>".$caption."<td>
 		<td>
-		<div class='form-inline'>Older than ".$frm->select('resendAge', $age, 24).$frm->checkbox('resetPasswords',1,false,'Reset all passwords').
+		<div class='form-inline'>".USRLAN_253." ".$frm->select('resendAge', $age, 24).$frm->checkbox('resetPasswords',1,false,USRLAN_254).
 		" <div class='input-group'>".$frm->userclass('resendClass',false, null )."<span class='input-group-btn'>".
 		$frm->button('resendToAll', 1, 'warning', LAN_GO)."
 
@@ -2396,7 +2397,7 @@ class users_admin_form_ui extends e_admin_form_ui
 		if($mode == 'write')
 		{
 			$prm = e107::getUserPerms();
-			$text = "<a class='e-expandit' href='#perms'>Admin Permissions</a>";
+			$text = "<a class='e-expandit' href='#perms'>".USRLAN_221."</a>";
 			$text .= "<div id='perms' style='display:none'>". $prm->renderPermTable('grouped',$curval).'</div>';				
 			return $text;
 		}
@@ -2428,7 +2429,7 @@ class users_admin_form_ui extends e_admin_form_ui
 		{
 			$fieldName = 'user_password_'. $this->getController()->getId();
 
-			return $this->password($fieldName, '', 20, array('size' => 50, 'class' => 'tbox e-password', 'placeholder' => 'Leave blank for no change', 'generate' => 1, 'strength' => 1, 'required'=>0, 'autocomplete'=>'off'))."
+			return $this->password($fieldName, '', 20, array('size' => 50, 'class' => 'tbox e-password', 'placeholder' => USRLAN_251, 'generate' => 1, 'strength' => 1, 'required'=>0, 'autocomplete'=>'off'))."
 			";			
 		}
 			
@@ -2443,7 +2444,7 @@ class users_admin_form_ui extends e_admin_form_ui
 	function user_ban($curval,$mode)
 	{
 		$bo = array(
-			'<span class="label label-success label-status">Active</span>',
+			'<span class="label label-success label-status">'.LAN_ACTIVE.'</span>',
 			"<span class='label label-important label-danger label-status'>".LAN_BANNED."</span>",
 			"<span class='label label-default label-status'>".LAN_NOTVERIFIED."</span>",
 			"<span class='label label-info label-status'>".LAN_BOUNCED."</span>"
@@ -2746,7 +2747,7 @@ class users_admin_form_ui extends e_admin_form_ui
 
 	class users_ranks_ui extends e_admin_ui
 	{
-		protected $pluginTitle		= LAN_USER;
+		protected $pluginTitle		= ADLAN_36;
 		protected $pluginName		= 'user_ranks';
 		protected $table			= 'generic';
 		protected $pid				= 'gen_id';
diff --git a/e107_core/controllers/system/xup.php b/e107_core/controllers/system/xup.php
index 4e9e43d59..e5c71fa72 100644
--- a/e107_core/controllers/system/xup.php
+++ b/e107_core/controllers/system/xup.php
@@ -43,7 +43,7 @@ class core_system_xup_controller extends eController
 			$provider = new e_user_provider($_GET['provider']);
 			try
 			{
-				$provider->signup($this->backUrl); // redirect to test page is expected, if true - redirect to SITEURL
+				$provider->signup($this->backUrl, true, false); // redirect to test page is expected, if true - redirect to SITEURL
 			}
 			catch (Exception $e)
 			{
@@ -90,9 +90,9 @@ class core_system_xup_controller extends eController
 			return; 	
 		}
 		
-		if(isset($_GET['lgt']))
-		{
-			e107::getUser()->logout();
+		if(isset($_GET['lgt']))
+		{
+			e107::getUser()->logout();
 		}
 		
 		$profileData = null;
diff --git a/e107_core/shortcodes/batch/contact_shortcodes.php b/e107_core/shortcodes/batch/contact_shortcodes.php
index c40a8a2ab..1d65cb32e 100644
--- a/e107_core/shortcodes/batch/contact_shortcodes.php
+++ b/e107_core/shortcodes/batch/contact_shortcodes.php
@@ -2,7 +2,7 @@
 /*
  * e107 website system
  *
- * Copyright (C) 2008-2009 e107 Inc (e107.org)
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
  * Released under the terms and conditions of the
  * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
  *
@@ -79,12 +79,14 @@ class contact_shortcodes extends e_shortcode
 		return "<input type='hidden' name='rand_num' value='".e107::getSecureImg()->random_number."' />".e107::getSecureImg()->r_image();
 	}
 	
-	
+	function sc_contact_imagecode_label($parm='')
+	{
+		return e107::getSecureImg()->renderLabel();
+	}
 	
 	function sc_contact_imagecode_input($parm='') 
 	{
 		return e107::getSecureImg()->renderInput();
-		// return "<input class='tbox' type='text' name='code_verify' size='15' maxlength='20' />";
 	}
 	
 	
@@ -92,8 +94,8 @@ class contact_shortcodes extends e_shortcode
 	{
 		$userName = deftrue('USERNAME');
 
-		return "<input type='text'   id='contactName' title='Your full name' name='author_name' required='required' size='30' class='tbox form-control' value=\"".varset($_POST['author_name'],$userName)."\" />";
-		
+		return "<input type='text'   id='contactName' title='".LANCONTACT_17."' name='author_name' required='required' size='30' class='tbox form-control' value=\"".varset($_POST['author_name'],$userName)."\" />";
+
 	}
 
 
@@ -103,14 +105,14 @@ class contact_shortcodes extends e_shortcode
 		$userEmail = deftrue('USEREMAIL');
 		$disabled = (!empty($userEmail)) ? 'readonly' : ''; // don't allow change from a verified email address.
 
-		return "<input type='email'   ".$disabled." id='contactEmail' title='a valid email address' name='email_send' required='required' size='30' class='tbox form-control' value='".(vartrue($_POST['email_send']) ? $_POST['email_send'] : USEREMAIL)."' />";
+		return "<input type='email'   ".$disabled." id='contactEmail' title='".LANCONTACT_18."' name='email_send' required='required' size='30' class='tbox form-control' value='".(vartrue($_POST['email_send']) ? $_POST['email_send'] : USEREMAIL)."' />";
 	}
 	
 	
 	
 	function sc_contact_subject($parm='')
 	{
-		return "<input type='text' title='the subject of your enquiry' name='subject' required='required' size='30' class='tbox form-control' value=\"".varset($_POST['subject'])."\" />";
+		return "<input type='text' title='".LANCONTACT_19."' name='subject' required='required' size='30' class='tbox form-control' value=\"".varset($_POST['subject'])."\" />";
 	}
 	
 	
@@ -125,7 +127,7 @@ class contact_shortcodes extends e_shortcode
 			$size = 'input-xxlarge';	
 		}
 		
-		return "<textarea cols='{$cols}'  id='contactBody' rows='{$rows}' name='body' required='required' class='tbox {$size} form-control'>".stripslashes(varset($_POST['body']))."</textarea>";
+		return "<textarea cols='{$cols}'  id='contactBody' rows='{$rows}' title='".LANCONTACT_20."' name='body' required='required' class='tbox {$size} form-control'>".stripslashes(varset($_POST['body']))."</textarea>";
 	}
 	
 	
diff --git a/e107_core/shortcodes/batch/user_shortcodes.php b/e107_core/shortcodes/batch/user_shortcodes.php
index 3a16984db..93c9d529d 100644
--- a/e107_core/shortcodes/batch/user_shortcodes.php
+++ b/e107_core/shortcodes/batch/user_shortcodes.php
@@ -504,7 +504,7 @@ class user_shortcodes extends e_shortcode
 		$frm = e107::getForm();
 		
 		if(!vartrue($pref['profile_rate'])){ return; }
-		if(!USER){ return "Login to rate this user"; } // TODO LAN
+		if(!USER){ return LAN_USER_87; } 
 		else{
 		
 		switch ($parm) 
diff --git a/e107_core/templates/contact_template.php b/e107_core/templates/contact_template.php
index b172ed3b8..2c115e93a 100644
--- a/e107_core/templates/contact_template.php
+++ b/e107_core/templates/contact_template.php
@@ -1,5 +1,14 @@
 <?php
-// $Id$
+/*
+ * e107 website system
+ *
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
+ * Released under the terms and conditions of the
+ * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
+ *
+ * Contact Template
+ */
+ // $Id$
 
 if (!defined('e107_INIT')) { exit; }
 
@@ -30,17 +39,17 @@ $CONTACT_TEMPLATE['info'] = "
 $CONTACT_TEMPLATE['menu'] =  '
 	<div class="contactMenuForm">
 		<div class="control-group form-group">
-			<label >Name</label>
-   			 {CONTACT_NAME}
+			<label for="contactName">'.LANCONTACT_03.'</label>
+				{CONTACT_NAME}
 		 </div>
 		 
 		<div class="control-group form-group">
-			<label class="control-label" for="contactEmail">Email</label>
+			<label class="control-label" for="contactEmail">'.LANCONTACT_04.'</label>
 				{CONTACT_EMAIL}
 		</div>
 		<div class="control-group form-group">
-			<label>Comments</label>
-			{CONTACT_BODY=rows=5&cols=30}							
+			<label for="contactBody" >'.LANCONTACT_06.'</label>
+				{CONTACT_BODY=rows=5&cols=30}
 		</div>
 		{CONTACT_SUBMIT_BUTTON}
 	</div>       
@@ -60,29 +69,29 @@ $CONTACT_TEMPLATE['menu'] =  '
 	// In this case (see contact.php) e107::getScBatch('contact')->wrapper('contact/form')
 	// Only one Option is used - WRAPPER > SC_STYLE
 
-	$CONTACT_WRAPPER['form']['CONTACT_IMAGECODE'] 			= "<div class='control-group form-group'><label>".LAN_ENTER_CODE."</label> {---}";
+	$CONTACT_WRAPPER['form']['CONTACT_IMAGECODE'] 			= "<div class='control-group form-group'><label for='code-verify'>{CONTACT_IMAGECODE_LABEL}</label> {---}";
 	$CONTACT_WRAPPER['form']['CONTACT_IMAGECODE_INPUT'] 	= "{---}</div>";
 	$CONTACT_WRAPPER['form']['CONTACT_EMAIL_COPY'] 			= "<div class='control-group form-group'>{---}".LANCONTACT_07."</div>";
-	$CONTACT_WRAPPER['form']['CONTACT_PERSON']				= "<div class='control-group form-group'><label>".LANCONTACT_14."</label>{---}</div>";
+	$CONTACT_WRAPPER['form']['CONTACT_PERSON']				= "<div class='control-group form-group'><label for='contactPerson'>".LANCONTACT_14."</label>{---}</div>";
 
 	$CONTACT_TEMPLATE['form'] = "
 	<form action='".e_SELF."' method='post' id='contactForm' >
 
 	{CONTACT_PERSON}
-	<div class='control-group form-group'><label>".LANCONTACT_03."</label>
+	<div class='control-group form-group'><label for='contactName'>".LANCONTACT_03."</label>
 		{CONTACT_NAME}
 	</div>
-	<div class='control-group form-group'><label>".LANCONTACT_04."</label>
+	<div class='control-group form-group'><label for='contactEmail'>".LANCONTACT_04."</label>
 		{CONTACT_EMAIL}
 	</div>
-	<div class='control-group form-group'><label>".LANCONTACT_05."</label>
+	<div class='control-group form-group'><label for='contactSubject'>".LANCONTACT_05."</label>
 		{CONTACT_SUBJECT}
 	</div>
 
 		{CONTACT_EMAIL_COPY}
 
-	<div class='control-group form-group'><label>".LANCONTACT_06."</label>
-        {CONTACT_BODY}
+	<div class='control-group form-group'><label for='contactBody'>".LANCONTACT_06."</label>
+		{CONTACT_BODY}
 	</div>
 
 	{CONTACT_IMAGECODE}
@@ -100,4 +109,4 @@ $CONTACT_TEMPLATE['menu'] =  '
 
 	
 
-?>
\ No newline at end of file
+?>
diff --git a/e107_core/templates/error_template.php b/e107_core/templates/error_template.php
index da4fc6e55..2c035aa66 100644
--- a/e107_core/templates/error_template.php
+++ b/e107_core/templates/error_template.php
@@ -23,9 +23,9 @@ if (!defined('e107_INIT')) { exit; }
 
 $ERROR_TEMPLATE = array();
 
-$ERROR_TEMPLATE['404']['start'] = '<div class="error-404">';
+$ERROR_TEMPLATE['404']['start'] = '<div class="error-404 alert-danger">';
 $ERROR_TEMPLATE['404']['body'] = '
-	<h3><i class="icon-exclamation-sign alert-danger" title="'.LAN_ERROR_45.'"></i> '.LAN_ERROR_45.'</h3>
+	<h3><i class="icon-exclamation-sign" title="'.LAN_ERROR_45.'"></i> '.LAN_ERROR_45.'</h3>
 	<p>
 		'.LAN_ERROR_21.'<br />'.LAN_ERROR_9.'
 	</p>
@@ -35,9 +35,9 @@ $ERROR_TEMPLATE['404']['body'] = '
 $ERROR_TEMPLATE['404']['end'] = '</div>';
 
 
-$ERROR_TEMPLATE['403']['start'] = '<div class="error-403">';
+$ERROR_TEMPLATE['403']['start'] = '<div class="error-403 alert-danger">';
 $ERROR_TEMPLATE['403']['body'] = '
-	<h3><i class="icon-exclamation-sign alert-danger" title="'.LAN_ERROR_4.'"></i> '.LAN_ERROR_4.'</h3>
+	<h3><i class="icon-exclamation-sign" title="'.LAN_ERROR_4.'"></i> '.LAN_ERROR_4.'</h3>
 	<p>
 		'.LAN_ERROR_5.'<br />'.LAN_ERROR_6.'<br /><br />'.LAN_ERROR_2.'
 	</p>
diff --git a/e107_handlers/db_debug_class.php b/e107_handlers/db_debug_class.php
index ea73bc175..06d198197 100644
--- a/e107_handlers/db_debug_class.php
+++ b/e107_handlers/db_debug_class.php
@@ -675,8 +675,8 @@ class e107_db_debug {
 			$this->aLog[] =	array (
 				'Message'   => $message,
 				'Function'	=> (isset($bt[$TraceLev]['type']) && ($bt[$TraceLev]['type'] == '::' || $bt[$TraceLev]['type'] == '->') ? $bt[$TraceLev]['class'].$bt[$TraceLev]['type'].$bt[$TraceLev]['function'].'()' : $bt[$TraceLev]['function']).'()',
-				'File'	=> $bt[$TraceLev]['file'],
-				'Line'	=> $bt[$TraceLev]['line']
+				'File'	=> varset($bt[$TraceLev]['file']),
+				'Line'	=> varset($bt[$TraceLev]['line'])
 			);
 		} else {
 			$this->aLog[] =	array (
diff --git a/e107_handlers/e107_class.php b/e107_handlers/e107_class.php
index 6ce08e794..87a09302b 100644
--- a/e107_handlers/e107_class.php
+++ b/e107_handlers/e107_class.php
@@ -2240,11 +2240,11 @@ class e107
 		}
 		elseif($legacy_override_path && is_readable($legacy_override_path)) //v1 override template. 
 		{
-			return $legacy_override_path; 	
+			return $legacy_override_path;
 		}
 		elseif(is_readable($legacy_core_path)) //v1 core template. 
 		{
-			return $legacy_core_path;
+		//	return $legacy_core_path; // just asking for trouble.
 		}
 
 		return $core_path; 
@@ -2909,6 +2909,7 @@ class e107
 		$tp = e107::getParser();
 
 		$pref = self::getPref('e_url_alias');
+		$sefActive = self::getPref('e_url_list');
 
 		if(is_string($options)) // backwards compat.
 		{
@@ -2952,6 +2953,13 @@ class e107
 				}
 			}
 
+			if(empty($sefActive[$plugin])) // SEF disabled.
+			{
+				self::getDebug()->log('SEF URL for <b>'.$plugin.'</b> disabled.');
+				$active = false;
+			}
+
+
 
 			if(deftrue('e_MOD_REWRITE') && ($active == true) && empty($options['legacy']))  // Search-Engine-Friendly URLs active.
 			{
diff --git a/e107_handlers/e_parse_class.php b/e107_handlers/e_parse_class.php
index a5d5296b0..a021f3b2b 100644
--- a/e107_handlers/e_parse_class.php
+++ b/e107_handlers/e_parse_class.php
@@ -1743,7 +1743,7 @@ class e_parse extends e_parser
 						// Convert URL's to clickable links, unless modifiers or prefs override
 						if ($opts['link_click'])
 						{
-							if ($opts['link_replace'] && ADMIN_AREA !== true)
+							if ($opts['link_replace'] && defset('ADMIN_AREA') !== true)
 							{
 
 								$link_text = $pref['link_text'];
@@ -3796,8 +3796,8 @@ class e_parser
 		elseif(!empty($parm['legacy'])) // Search legacy path for image in a specific folder. No path, only file name provided.
 		{
 
-			$legacyPath = $parm['legacy'].$file;
-			$filePath = $tp->replaceConstants($legacyPath,'rel');
+			$legacyPath = rtrim($parm['legacy'],'/').'/'.$file;
+			$filePath = $tp->replaceConstants($legacyPath);
 
 			if(is_readable($filePath))
 			{
@@ -4369,6 +4369,11 @@ return;
 			return preg_replace('/[^\w\d ]/',"",$text);
 		}
 
+		if($type == 'file')
+		{
+			return preg_replace('/[^\w\d_\.-]/',"",$text);
+		}
+
 
 		if($validate == false)
 		{
diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php
index c54f8d274..413ccb766 100644
--- a/e107_handlers/form_handler.php
+++ b/e107_handlers/form_handler.php
@@ -4340,7 +4340,7 @@ class e_form
 				$value = '<a href="'.$url.'" title="Direct link to '.$name.'" rel="external">'.$name.'</a>';
 			break;
 
-			case 'image': //TODO - thumb, js tooltip...
+			case 'image': //js tooltip...
 				if($value)
 				{
 					
@@ -4396,13 +4396,27 @@ class e_form
 						{
 							$thparms['aw'] = intval($parms['thumb_aw']);
 						}
-						
+
+						if(!empty($parms['legacyPath']))
+						{
+							$thparms['legacy'] = $parms['legacyPath'];
+							$parms['pre'] = rtrim($parms['legacyPath'],'/').'/';
+						}
 					//	return print_a($thparms,true); 
 					
 						$src = $tp->replaceConstants(vartrue($parms['pre']).$value, 'abs');
 						$thsrc = $tp->thumbUrl(vartrue($parms['pre']).$value, $thparms, varset($parms['thumb_urlraw']));
 						$alt = basename($src);
-						$ttl = '<img src="'.$thsrc.'" alt="'.$alt.'" class="thumbnail e-thumb" />';
+					//	$ttl = '<img src="'.$thsrc.'" alt="'.$alt.'" class="thumbnail e-thumb" />';
+
+						$thparms['alt'] = $alt;
+						$thparms['class'] = "thumbnail e-thumb";
+
+						$ttl = $tp->toImage(vartrue($parms['pre']).$value, $thparms);
+
+						e107::getDebug()->log($value);
+						e107::getDebug()->log($thparms);
+
 						$value = '<a href="'.$src.'" data-modal-caption="'.$alt.'" data-target="#uiModal" class="e-modal e-image-preview" title="'.$alt.'" rel="external">'.$ttl.'</a>';
 					}
 					else
@@ -4419,7 +4433,7 @@ class e_form
 				$ret = '<ol>';
 				for ($i=0; $i < 5; $i++) 
 				{				
-					$k 		= $key.'['.$i.'][path]';
+					//$k 		= $key.'['.$i.'][path]';
 					$ival 	= $value[$i]['path'];
 					$ret .=  '<li>'.$ival.'</li>';		
 				}
diff --git a/e107_handlers/js_manager.php b/e107_handlers/js_manager.php
index 116d96192..d74e65c3a 100644
--- a/e107_handlers/js_manager.php
+++ b/e107_handlers/js_manager.php
@@ -1075,7 +1075,7 @@ class e_jsmanager
 			break;
 
 			case 'settings':
-				$this->_e_js_settings = array_merge_recursive($this->_e_js_settings, $file_path);
+				$this->_e_js_settings = $this->arrayMergeDeepArray(array($this->_e_js_settings, $file_path));
 				return $this;
 			break;
 
@@ -1115,8 +1115,7 @@ class e_jsmanager
 		{
 			case 'settings':
 				$tp = e107::getParser();
-				$options = $this->arrayMergeDeepArray(array($this->_e_js_settings));
-				$json = $tp->toJSON($options);
+				$json = $tp->toJSON($this->_e_js_settings);
 				echo "<script>\n";
 				echo "var e107 = e107 || {'settings': {}, 'behaviors': {}};\n";
 				echo "jQuery.extend(e107.settings, " . $json . ");\n";
diff --git a/e107_handlers/plugin_class.php b/e107_handlers/plugin_class.php
index de1cd3c64..958f68ee5 100644
--- a/e107_handlers/plugin_class.php
+++ b/e107_handlers/plugin_class.php
@@ -903,7 +903,7 @@ class e107plugin
 		}
 	}
 
-	function manage_userclass($action, $class_name, $class_description)
+	function manage_userclass($action, $class_name, $class_description='')
 	{
 		global $e107;
 		$tp = e107::getParser();
diff --git a/e107_handlers/secure_img_handler.php b/e107_handlers/secure_img_handler.php
index 5b610a067..523af4f21 100644
--- a/e107_handlers/secure_img_handler.php
+++ b/e107_handlers/secure_img_handler.php
@@ -109,7 +109,7 @@ class secure_image
 	 * @param $checkstr
 	 * @return bool|mixed|string
 	 */
-	function invalidCode($rec_num, $checkstr)
+	function invalidCode($rec_num=null, $checkstr=null)
 	{
 		if ($user_func = e107::getOverride()->check($this,'invalidCode'))
 		{
diff --git a/e107_handlers/shortcode_handler.php b/e107_handlers/shortcode_handler.php
index 659c8d67e..b9b7b305d 100644
--- a/e107_handlers/shortcode_handler.php
+++ b/e107_handlers/shortcode_handler.php
@@ -1295,7 +1295,10 @@ class e_parse_shortcode
 		if (isset($ret) && ($ret != '' || is_numeric($ret)))
 		{
 			$ret = $this->makeEditable($ret, $code);
-			$ret = $this->makeWrapper($ret, $code, $fullShortcodeKey, $sc_mode);
+			if (!$this->nowrap == $code)
+			{
+				$ret = $this->makeWrapper($ret, $code, $fullShortcodeKey, $sc_mode);
+			}
 		}
 
 
@@ -1416,11 +1419,13 @@ class e_parse_shortcode
 
 		if(strpos($pre, '{') !== false) // shortcode found in wrapper
 		{
+			$this->nowrap = $code;
 			$pre = $this->parseCodes($pre, true, $this->addedCodes);
 		}
 
 		if(strpos($post, '{') !== false) // shortcode found in wrapper
 		{
+			$this->nowrap = $code;
 			$post = $this->parseCodes($post, true, $this->addedCodes);
 		}
 
diff --git a/e107_handlers/theme_handler.php b/e107_handlers/theme_handler.php
index b93cb8c7e..dffc37813 100644
--- a/e107_handlers/theme_handler.php
+++ b/e107_handlers/theme_handler.php
@@ -83,7 +83,7 @@ class themeHandler
 
 		if(!empty($_POST['curTheme']))
 		{
-			$this->curTheme = e107::getParser()->filter($_POST['curTheme']);
+			$this->curTheme = e107::getParser()->filter($_POST['curTheme'],'file');
 		}
 		
 		if(!empty($_POST['setUploadTheme']) && !empty($unzippedTheme)) 
diff --git a/e107_languages/English/admin/lan_admin.php b/e107_languages/English/admin/lan_admin.php
index 530924f8e..02dc39fea 100644
--- a/e107_languages/English/admin/lan_admin.php
+++ b/e107_languages/English/admin/lan_admin.php
@@ -182,6 +182,9 @@ define("ADLAN_160", "Configure Site URLs");
 define("ADLAN_161", "Custom Fields?");
 define("ADLAN_162", "A newer version of your site-theme is available:");
 define("ADLAN_163", "A newer version of an installed plugin is available:");
+define("ADLAN_164", "Successfully logged in as [x].");
+define("ADLAN_165", "Powered by e107");
+define("ADLAN_166", "Return to Website");
 
 // define("ADLAN_CL_1", "Settings");
 define("ADLAN_CL_2", "Users");
@@ -259,12 +262,14 @@ define("LAN_NOTWRITABLE"," is not writable, you need to CHMOD 777 the file or fo
 define("LAN_NOTREADABLE", "Not Readable");
 define("LAN_MISSING", "Missing");
 define("LAN_UNUSED", "Unused");
+define("LAN_TOOLTIP", "Tooltip");
 
 define("LAN_TIME","Time");
 // define("LAN_YES","Yes");
 // define("LAN_NO","No");   // defined in e107_languages/English/English.php
 define("LAN_EMPTY","There are no entries in the database yet");
 define("LAN_EXISTING","Existing Entries");
+define("LAN_DEFAULT_TABLE_DATA","Adding default table data to table:");
 
 define("LAN_CONFDELETE","Confirm Delete");
 define("LAN_PLUGIN","Plugin");
@@ -287,6 +292,7 @@ define("LAN_DISPLAYOPT", "Edit Display Options");
 define("LAN_DATESTAMP","Date stamp");
 define("LAN_TIMESTAMP","Timestamp");
 define("LAN_IP","IP");
+define("LAN_IP_ADDRESS","IP Address");
 define("LAN_PAGE","PAGE");
 define("LAN_AGENT","AGENT");
 define("LAN_LANG","Lang.");
@@ -311,6 +317,7 @@ define("LAN_UPLOAD_ADDFILE","Add Another File");
 define("LAN_UPLOAD_CONFIRM","Any unsaved changes to this page will be lost. Continue?");
 define("LAN_UPLOAD_777","Folder is missing or not writable, you need to CHMOD 777 the following folder before uploading:");
 define("LAN_UPLOAD_SERVEROFF", "This option is disabled as file uploading is not enabled on your server");
+define("LAN_WIDTH","Width");
 
 define("LAN_DISABLED","Disabled");
 define("LAN_ENABLED", "Enabled");
@@ -337,7 +344,7 @@ define("LAN_USERCLASS", "Userclass");
 
 
 define("LAN_HELP", "Help");
-define("LAN_CUSTOM", "Custom configuration");
+define("LAN_CUSTOM", "Custom");
 define("LAN_MENULAYOUT", "Menu Layout");
 define("LAN_MEDIAMANAGER", "Media Manager");
 
@@ -377,8 +384,8 @@ define("LAN_DEMO_FORBIDDEN", "Changes on this page are not possible in demo mode
 define("LAN_COPYRIGHT", "Copyright");
 define("LAN_MANAGER", "Manage Permissions");
 define("LAN_PING", "Ping");
-define("LAN_START", "Starting");
-define("LAN_END", "Ending");
+define("LAN_START", "Start");
+define("LAN_END", "End");
 
 define("LAN_PREVIEW", "Preview");
 
diff --git a/e107_languages/English/admin/lan_users.php b/e107_languages/English/admin/lan_users.php
index 6066f6d81..9d9d493d1 100644
--- a/e107_languages/English/admin/lan_users.php
+++ b/e107_languages/English/admin/lan_users.php
@@ -180,7 +180,7 @@ define("USRLAN_171", "Random password");
 define("USRLAN_172", "User account has been created with the following:");
 // define("USRLAN_173", "Login name set");
 // define("USRLAN_174", "User name --NAME-- created");
-define("USRLAN_175", "");
+define("USRLAN_175", "Session");
 
 define("USRLAN_179", "User banned: ");
 define("USRLAN_180", "IP address of {IP} appears on whitelist; IP not banned.");
@@ -199,7 +199,7 @@ define("USRLAN_191", "Administrator can impose restrictions during this period i
 define("USRLAN_192", ""); // was "days" use value in lan_date.php instead. 
 define("USRLAN_193", "Nothing changed - not saved");
 define("USRLAN_194", "Signature may be modified by");
-define("USRLAN_195", "");
+define("USRLAN_195", "Last Post");
 
 //User Ranks phrases
 // define("USRLAN_196", "User ranks"); // use LAN_USER_RANKS
@@ -233,6 +233,13 @@ define("LAN_NOTVERIFIED","Not Verified");
 define("LAN_BANNED","Banned");
 define("LAN_BOUNCED","Bounced");
 
+define("LAN_UI_1_HOUR", "1 hour");
+define("LAN_UI_3_HOURS", "3 hours");
+define("LAN_UI_6_HOURS", "6 hours");
+define("LAN_UI_12_HOURS", "12 hours");
+define("LAN_UI_24_HOURS", "24 hours");
+define("LAN_UI_48_HOURS", "48 hours");
+define("LAN_UI_3_DAYS", "3 days");
 
 define("USRLAN_220", "All Userclasses");
 define("USRLAN_221", "Edit admin perms");
@@ -268,7 +275,10 @@ define("USRLAN_247", "Us");
 define("USRLAN_248", "Us");
 define("USRLAN_249", "Us");
 define("USRLAN_250", "Us");
-
+define("USRLAN_251", "Leave blank for no change");
+define("USRLAN_252", "Resend account activation email to unactivated users.");
+define("USRLAN_253", "Older than");
+define("USRLAN_254", "Reset all passwords");
 
 // These need review - there are duplicates above - they come from admin/lan_userclass.php.
 define("UCSLAN_1", "Sending notification email to");
diff --git a/e107_languages/English/lan_contact.php b/e107_languages/English/lan_contact.php
index 4f579856b..da6852ce5 100644
--- a/e107_languages/English/lan_contact.php
+++ b/e107_languages/English/lan_contact.php
@@ -2,7 +2,7 @@
 /*
  * e107 website system
  *
- * Copyright (C) 2008-2009 e107 Inc (e107.org)
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
  * Released under the terms and conditions of the
  * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
  *
@@ -15,23 +15,27 @@
  */
 
 
-define('LANCONTACT_00', 'Contact Us');
+define("LANCONTACT_00", "Contact Us");
 define("LANCONTACT_01", "Contact Details");
 define("LANCONTACT_02", "Contact Form");
-define("LANCONTACT_03", "Enter your name:");
-define("LANCONTACT_04", "Enter your e-mail address:");
-define("LANCONTACT_05", "Message subject:");
-define("LANCONTACT_06", "Message:");
+define("LANCONTACT_03", "Enter your name");
+define("LANCONTACT_04", "Enter your e-mail address");
+define("LANCONTACT_05", "Message subject");
+define("LANCONTACT_06", "Message");
 define("LANCONTACT_07", "Email a copy of this message to your own address ");
 define("LANCONTACT_08", "Send");
 define("LANCONTACT_09", "Your message was sent.");
 define("LANCONTACT_10", "There was a problem sending your message.");
-define("LANCONTACT_11", "Your email address doesn't appear to be valid.\\nPlease check it and try again.");
+define("LANCONTACT_11", "Your email address does not appear to be valid.\\nPlease check it and try again.");
 define("LANCONTACT_12", "Your message is too short.");
 define("LANCONTACT_13", "Please include a subject.");
 
-define("LANCONTACT_14", "Send message to:");
+define("LANCONTACT_14", "Send message to");
 define("LANCONTACT_15", "Incorrect code entered");
 define("LANCONTACT_16", "You must be [registered] and signed-in to use this form.");
+define("LANCONTACT_17", "Please enter your name.");
+define("LANCONTACT_18", "Please enter your e-mail address.");
+define("LANCONTACT_19", "Please enter the subject for your e-mail.");
+define("LANCONTACT_20", "Please enter your message for us.");
 
 
diff --git a/e107_languages/English/lan_user.php b/e107_languages/English/lan_user.php
index b34598712..d7a1fc758 100644
--- a/e107_languages/English/lan_user.php
+++ b/e107_languages/English/lan_user.php
@@ -114,6 +114,7 @@ define("LAN_USER_83", "Hide email address?: ");					// LAN_113
 define("LAN_USER_84", "This will prevent your email address from being displayed on site");	// LAN_114
 define("LAN_USER_85", "If you want to change your user name, you must ask a site administrator");
 define("LAN_USER_86", "Maximum avatar size is --WIDTH-- x --HEIGHT-- pixels");
+define("LAN_USER_87", "Login to rate this user!");
 
 // social plugin
 define("LAN_XUP_ERRM_01", "Signup failed! This feature is disabled.");
@@ -153,4 +154,4 @@ if (!defined("USER_ERR_23")) { define("USER_ERR_23","Disallowed value (exact mat
 
 
 
-?>
\ No newline at end of file
+?>
diff --git a/e107_plugins/_blank/plugin.xml b/e107_plugins/_blank/plugin.xml
index 35b2e73f2..0e80ea451 100644
--- a/e107_plugins/_blank/plugin.xml
+++ b/e107_plugins/_blank/plugin.xml
@@ -8,7 +8,10 @@
 		<word>blank</word>
 		<word>empty</word>
 		<word>template</word>
-	</keywords> 
+	</keywords>
+	<screenshots>
+		<image></image>
+	</screenshots>
 	<adminLinks>
 		<link url='admin_config.php' description='Configure Blank Plugin' icon='images/blank_32.png' iconSmall='images/blank_16.png' icon128="" primary='true' >LAN_CONGIGURE</link>
 		<link url="admin_config.php?mode=options" description="Configure Blank Prefs" icon="manage" >Blank Prefs</link>
diff --git a/e107_plugins/banner/admin_banner.php b/e107_plugins/banner/admin_banner.php
index 73a1509d4..a30be35c1 100644
--- a/e107_plugins/banner/admin_banner.php
+++ b/e107_plugins/banner/admin_banner.php
@@ -2,7 +2,7 @@
 /*
  * e107 website system
  *
- * Copyright (C) 2008-2013 e107 Inc (e107.org)
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
  * Released under the terms and conditions of the
  * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
  *
@@ -76,7 +76,7 @@ class banner_admin extends e_admin_dispatcher
 
 		'main/list'			=> array('caption'=> LAN_MANAGE, 'perm' => 'P'),
 		'main/create'		=> array('caption'=> LAN_CREATE, 'perm' => 'P'),
-		'main/menu'			=> array('caption'=> BNRLAN_36, 'perm' => 'P'),
+	//	'main/menu'			=> array('caption'=> BNRLAN_36, 'perm' => 'P'), //Done in Menu manager #2096
 	//	'main/prefs' 		=> array('caption'=> LAN_PREFS, 'perm' => 'P'),	
 
 		// 'main/custom'		=> array('caption'=> 'Custom Page', 'perm' => 'P')
@@ -96,7 +96,7 @@ class banner_admin extends e_admin_dispatcher
 class banner_ui extends e_admin_ui
 {
 			
-		protected $pluginTitle		= 'Banners';
+		protected $pluginTitle		= LAN_PLUGIN_BANNER_NAME;
 		protected $pluginName		= 'banner';
 		protected $table			= 'banner';
 		protected $pid				= 'banner_id';
@@ -114,27 +114,27 @@ class banner_ui extends e_admin_ui
 		protected $fields 		= array (
 		  'checkboxes'				=>   array ( 'title' => '', 		'type' => null, 'data' => null, 'width' => '5%', 'thclass' => 'center', 'forced' => '1', 'class' => 'center', 'toggle' => 'e-multiselect',  ),
 		  'banner_id' 				=>   array ( 'title' => LAN_ID, 	'type' => null, 'data' => 'int', 'width' => '2%', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left',  ),
-		  'banner_campaign' 		=>   array ( 'title' => 'Campaign', 	'type' => 'method', 'data' => 'str', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => array( 'tdClassRight'=>'form-inline'), 'class' => 'left', 'thclass' => 'left',  ),
+		  'banner_campaign' 		=>   array ( 'title' => BNRLAN_11, 	'type' => 'method', 'data' => 'str', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => array( 'tdClassRight'=>'form-inline'), 'class' => 'left', 'thclass' => 'left',  ),
 
-		  'banner_clientname'		=>   array ( 'title' => 'Clientname', 'type' => 'method', 'tab'=>1, 'data' => 'str', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left',  ),
+		  'banner_clientname'		=>   array ( 'title' => BANNERLAN_22, 'type' => 'method', 'tab'=>1, 'data' => 'str', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left',  ),
 		  'banner_clientlogin' 		=>   array ( 'title' => BNRLAN_12, 'type' => 'method',  'tab'=>1, 'data' => 'str', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center',  ),
-		  'banner_clientpassword' 	=>   array ( 'title' => BNRLAN_13, 'type' => 'text',  'tab'=>1,'data' => 'str', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => 'strength=1&password=1&required=0&generate=1&nomask=1', 'class' => 'center', 'thclass' => 'center',  ),
-		  'banner_image' 			=>   array ( 'title' => BNRLAN_14, 	'type' => 'image', 'data' => 'str', 'width' => 'auto', 'help' => '', 'readParms' => 'thumb=0x50', 'writeParms' => 'media=banner&w=600', 'class' => 'left', 'thclass' => 'left',  ),
+		  'banner_clientpassword' 	=>   array ( 'title' => LAN_PASSWORD, 'type' => 'text',  'tab'=>1,'data' => 'str', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => 'strength=1&password=1&required=0&generate=1&nomask=1', 'class' => 'center', 'thclass' => 'center',  ),
+		  'banner_image' 			=>   array ( 'title' => LAN_IMAGE, 	'type' => 'image', 'data' => 'str', 'width' => 'auto', 'help' => '', 'readParms' => 'thumb=0x50', 'writeParms' => 'media=banner&w=600', 'class' => 'left', 'thclass' => 'left',  ),
 		  'banner_clickurl' 		=>   array ( 'title' => BNRLAN_15, 	'type' => 'text', 'data' => 'str', 'width' => 'auto', 'inline' => true, 'help' => '', 'readParms' => '', 'writeParms' => 'size=xxlarge&required=1', 'class' => 'left', 'thclass' => 'left',  ),
 		  'banner_impurchased' 		=>   array ( 'title' => BNRLAN_16, 	'type' => 'number', 'data' => 'int', 'width' => 'auto', 'inline' => true, 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center', 'help'=>'0 = unlimited' ),
-		  'banner_tooltip' 		    =>   array ( 'title' => BNRLAN_49, 	'type' => 'text', 'data' => 'str', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => array('size'=>'xxlarge'), 'class' => 'center', 'thclass' => 'center',  ),
+		  'banner_tooltip' 		    =>   array ( 'title' => LAN_TOOLTIP, 	'type' => 'text', 'data' => 'str', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => array('size'=>'xxlarge'), 'class' => 'center', 'thclass' => 'center',  ),
 
 		  'banner_description' 		=>   array ( 'title' => LAN_DESCRIPTION, 	'type' => 'textarea', 'data' => 'str', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center',  ),
 		  'banner_keywords' 		=>   array ( 'title' => LAN_KEYWORDS, 	'type' => 'tags', 'data' => 'str', 'width' => 'auto', 'inline' => true, 'help' => 'When news or pages are loaded, this will limit banner result to matching keywords. Use with caution.', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center',  ),
 
-		  'banner_startdate' 		=>   array ( 'title' => BNRLAN_17, 	'type' => 'datestamp',  'tab'=>1,'data' => 'int', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center',  ),
-		  'banner_enddate' 			=>   array ( 'title' => BNRLAN_18, 		'type' => 'datestamp',  'tab'=>1, 'data' => 'int', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center',  ),
+		  'banner_startdate' 		=>   array ( 'title' => LAN_START, 	'type' => 'datestamp',  'tab'=>1,'data' => 'int', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center',  ),
+		  'banner_enddate' 			=>   array ( 'title' => LAN_END, 	'type' => 'datestamp',  'tab'=>1, 'data' => 'int', 'width' => 'auto', 'filter' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center',  ),
 		  'banner_active' 			=>   array ( 'title' => LAN_VISIBILITY, 'type' => 'userclass', 'data' => 'int', 'width' => 'auto', 'filter' => true, 'inline' => true, 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left',  ),
 		  'banner_clicks' 			=>   array ( 'title' => BANNERLAN_24, 		'type' => 'number', 'noedit'=>true, 'readonly'=>2, 'data' => 'int', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center',  ),
 
 		  'click_percentage' 		=>   array ( 'title' => BANNERLAN_25, 	'type' => 'method', 'noedit'=>true, 'data' => false, 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'center', 'thclass' => 'center',  ),
 
-		  'banner_impressions' 		=>   array ( 'title' => 'Impressions', 	'type' => 'method', 'noedit'=>true, 'data' => 'int', 'width' => '12%',  'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left',  ),
+		  'banner_impressions' 		=>   array ( 'title' => BANNERLAN_26, 	'type' => 'method', 'noedit'=>true, 'data' => 'int', 'width' => '12%',  'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left',  ),
 		  'banner_ip' 				=>   array ( 'title' => LAN_IP, 		'type' => 'hidden', 'noedit'=>true, 'data' => 'str', 'width' => 'auto', 'help' => '', 'readParms' => '', 'writeParms' => '', 'class' => 'left', 'thclass' => 'left',  ),
 		  'options' 				=>   array ( 'title' => LAN_OPTIONS, 		'type' => null, 'data' => null, 'width' => '10%', 'thclass' => 'center last', 'class' => 'center last', 'forced' => '1',  ),
 		);
@@ -306,7 +306,7 @@ class banner_ui extends e_admin_ui
 							</colgroup>
 							<tbody>
 								<tr>
-									<td>".BNRLAN_37."</td>
+									<td>".LAN_CAPTION."</td>
 									<td>".$frm->text('banner_caption', $menu_pref['banner_caption'],255,'size=xxlarge')."</td>
 								</tr>
 								<tr>
@@ -388,7 +388,7 @@ class banner_form_ui extends e_admin_form_ui
 		if ($sql->select("banner"))
 		{
 
-			$this->campaigns['_new_'] =  "(New Campaign)";
+			$this->campaigns['_new_'] =  "(".LAN_ADD.")";
 
 
 			while ($banner_row = $sql->fetch())
@@ -840,14 +840,14 @@ if (!$action)
 						<tr>
 							<td class='center'>".$banner_row['banner_id']."</td>
 							<td class='e-pointer' onclick=\"e107Helper.toggle('banner-infocell-{$banner_row['banner_id']}')\">
-								<a href='#banner-infocell-{$banner_row['banner_id']}' class='action e-expandit' title='".BNRLAN_7."'>
-								".($banner_row['banner_clientname'] ? $banner_row['banner_clientname'] : BNRLAN_8)."</a>
+								<a href='#banner-infocell-{$banner_row['banner_id']}' class='action e-expandit' title='".LAN_STATS."'>
+								".($banner_row['banner_clientname'] ? $banner_row['banner_clientname'] : BANNERLAN_31)."</a>
 								<div class='e-hideme clear' id='banner-infocell-{$banner_row['banner_id']}'>
 									<div class='indent'>
 										<div class='field-spacer'><strong>".BNRLAN_11.": </strong>".$banner_row['banner_campaign']."</div>
 										<div class='field-spacer'><strong>".LAN_VISIBILITY." </strong>".r_userclass_name($banner_row['banner_active'])." ".$textvisivilitychanged."</div>
-										<div class='field-spacer'><strong>".BNRLAN_9.": </strong>".$start_date."</div>
-										<div class='field-spacer'><strong>".BNRLAN_10.": </strong>".$end_date."</div>
+										<div class='field-spacer'><strong>".LAN_START.": </strong>".$start_date."</div>
+										<div class='field-spacer'><strong>".LAN_END.": </strong>".$end_date."</div>
 									</div>
 								</div>
 							</td>
@@ -1043,11 +1043,11 @@ if ($action == "create")
 						<td>".$frm->text('client_login', $_POST['client_login'], '20')."</td>
 					</tr>
 					<tr>
-						<td>".BNRLAN_13."</td>
+						<td>".LAN_PASSWORD."</td>
 						<td>".$frm->password('client_password', $_POST['client_password'], '50','strength=1&generate=1&required=0')."</td>
 					</tr>
 					<tr>
-						<td>".BNRLAN_14."</td>
+						<td>".LAN_IMAGE."</td>
 						<td>".$frm->imagepicker('banner_image', $_POST['banner_image'], '', 'media=banner&w=600');
 						
 						
@@ -1113,12 +1113,12 @@ if ($action == "create")
 						<td>".$frm->number('impressions_purchased', $_POST['impressions_purchased'], 10)."<span class='field-help'>".BNRLAN_31."</span></td>
 					</tr>
 					<tr>
-						<td>".BNRLAN_17."</td>
+						<td>".LAN_START."</td>
 						<td>".$frm->datepicker('banner_startdate', $_POST['banner_startdate'],'type=date')."</td>
 					</tr>
 					<tr>
-						<td>".BNRLAN_18."</td>
-						<td>".$frm->datepicker('banner_enddate', $_POST['banner_enddate'],'type=date')."</td>			
+						<td>".LAN_END."</td>
+						<td>".$frm->datepicker('banner_enddate', $_POST['banner_enddate'],'type=date')."</td>
 					</tr>
 					<tr>
 						<td>".LAN_VISIBILITY."</td>
@@ -1186,7 +1186,7 @@ if ($action == "menu")
 					</colgroup>
 					<tbody>
 						<tr>
-							<td>".BNRLAN_37."</td>
+							<td>".LAN_CAPTION."</td>
 							<td>".$frm->text('banner_caption', $menu_pref['banner_caption'],255,'size=xxlarge')."</td>
 						</tr>
 						<tr>
diff --git a/e107_plugins/banner/banner.php b/e107_plugins/banner/banner.php
index a339534fe..974ac3a82 100644
--- a/e107_plugins/banner/banner.php
+++ b/e107_plugins/banner/banner.php
@@ -2,7 +2,7 @@
 /*
  * e107 website system
  *
- * Copyright (C) 2009-2014 e107 Inc (e107.org)
+ * Copyright (C) 2009-2016 e107 Inc (e107.org)
  * Released under the terms and conditions of the
  * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
  *
@@ -82,7 +82,7 @@ if (isset($_POST['clientsubmit']))
 	// check 
 	if(!$banner_total) 
 	{	
-		$mes->addInfo(BANNERLAN_29); 
+		$mes->addInfo(LAN_NO_RECORDS_FOUND.": ".LAN_PLUGIN_BANNER_NAME); 
 		$ns->tablerender(PAGE_NAME, $mes->render());
 		require_once(FOOTERF);
 		exit;
@@ -101,9 +101,9 @@ if (isset($_POST['clientsubmit']))
 			$BANNER_TABLE_BANNER_ID 			= $row['banner_id'];
 			$BANNER_TABLE_BANNER_CLICKS 		= $row['banner_clicks'];
 			$BANNER_TABLE_BANNER_IMPRESSIONS 	= $row['banner_impressions'];
-			$BANNER_TABLE_ACTIVE 				= BANNERLAN_36.($row['banner_active'] != "255" ? LAN_YES : "<b>".LAN_NO."</b>");
-			$BANNER_TABLE_STARTDATE 			= BANNERLAN_37." ".$start_date;
-			$BANNER_TABLE_ENDDATE 				= BANNERLAN_34." ".$end_date;
+			$BANNER_TABLE_ACTIVE 				= LAN_VISIBILITY." ".($row['banner_active'] != "255" ? LAN_YES : "<b>".LAN_NO."</b>");
+			$BANNER_TABLE_STARTDATE				= LAN_START." ".$start_date;
+			$BANNER_TABLE_ENDDATE				= LAN_END." ".$end_date;
 			
 			if ($row['banner_ip']) 
 			{
diff --git a/e107_plugins/banner/banner_menu.php b/e107_plugins/banner/banner_menu.php
index 2a8852ca0..a4afa31dc 100644
--- a/e107_plugins/banner/banner_menu.php
+++ b/e107_plugins/banner/banner_menu.php
@@ -2,7 +2,7 @@
 /*
  * e107 website system
  *
- * Copyright (C) 2008-2013 e107 Inc (e107.org)
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
  * Released under the terms and conditions of the
  * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
  *
diff --git a/e107_plugins/banner/banner_setup.php b/e107_plugins/banner/banner_setup.php
index 4a80f90d8..6cff3c0ac 100644
--- a/e107_plugins/banner/banner_setup.php
+++ b/e107_plugins/banner/banner_setup.php
@@ -38,12 +38,12 @@ class banner_setup
 			'banner_clicks'         => '0',
 			'banner_impressions'    => '0',
 			'banner_ip'             => '',
-			'banner_description'    => 'click to visit',
+			'banner_description'    => 'Learn more about e107 CMS.',
 			'banner_campaign'       => 'e107promo'
 		);
 
 		$status = ($sql->insert('banner', $insert)) ? E_MESSAGE_SUCCESS : E_MESSAGE_ERROR;
-		$mes->add("Adding Default table data to table: banner", $status); //TODO Generic LAN "LAN_DEFAULT_TABLE_DATA"
+		$mes->add(LAN_DEFAULT_TABLE_DATA." banner", $status);
 
 
 	}
diff --git a/e107_plugins/banner/banner_template.php b/e107_plugins/banner/banner_template.php
index a99eec0f0..4546ac1a2 100644
--- a/e107_plugins/banner/banner_template.php
+++ b/e107_plugins/banner/banner_template.php
@@ -1,5 +1,14 @@
 <?php
 // $Id$
+/*
+ * e107 website system
+ *
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
+ * Released under the terms and conditions of the
+ * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
+ *
+ * Banner template 
+ */
 
 if (!defined('e107_INIT')) { exit; }
 if (!defined("USER_WIDTH")){ define("USER_WIDTH","width:98%"); }
@@ -13,11 +22,11 @@ if(!isset($BANNER_LOGIN_TABLE))
 		<form method='post' action='".e_SELF."'>\n
 		<table style='width:40%'>
 		<tr>
-			<td style='width:15%' class='defaulttext'>".BANNERLAN_16."</td>
+			<td style='width:15%' class='defaulttext'>".BANNERLAN_16." </td>
 			<td>{BANNER_LOGIN_TABLE_LOGIN}\n</td>
 		</tr>
 		<tr>
-			<td style='width:15%' class='defaulttext'>".BANNERLAN_17."</td>
+			<td style='width:15%' class='defaulttext'>".LAN_PASSWORD." </td>
 			<td>{BANNER_LOGIN_TABLE_PASSW}\n</td>
 		</tr>
 		<tr>
diff --git a/e107_plugins/banner/e_help.php b/e107_plugins/banner/e_help.php
new file mode 100644
index 000000000..920a17e0f
--- /dev/null
+++ b/e107_plugins/banner/e_help.php
@@ -0,0 +1,21 @@
+<?php
+/*
+ * e107 website system
+ *
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
+ * Released under the terms and conditions of the
+ * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
+ *
+ * Plugin - Banner
+ *
+*/
+if (!defined('e107_INIT')) { exit; }
+if (!e107::isInstalled('banner')) 
+{
+	return;
+}
+
+include_lan(e_PLUGIN.'banner/languages/'.e_LANGUAGE.'admin_banner.php');
+$ns->tablerender(BNRLAN_HELP_01, BNRLAN_HELP_02);
+
+?>
diff --git a/e107_plugins/banner/e_menu.php b/e107_plugins/banner/e_menu.php
index 645d658f9..2a91edd19 100644
--- a/e107_plugins/banner/e_menu.php
+++ b/e107_plugins/banner/e_menu.php
@@ -2,7 +2,7 @@
 /*
  * e107 website system
  *
- * Copyright (C) 2008-2015 e107 Inc (e107.org)
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
  * Released under the terms and conditions of the
  * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
  *
@@ -31,10 +31,10 @@ class banner_menu
 		$renderTypes = array(BNRLAN_48,'1 - '.BNRLAN_45,'2 - '.BNRLAN_46, "3 - ".BNRLAN_47);
 
 		$fields = array();
-		$fields['banner_caption']       = array('title'=> BNRLAN_37, 'type'=>'text', 'multilan'=>true, 'writeParms'=>array('size'=>'xxlarge'));
+		$fields['banner_caption']       = array('title'=> LAN_CAPTION, 'type'=>'text', 'multilan'=>true, 'writeParms'=>array('size'=>'xxlarge'));
 		$fields['banner_campaign']      = array('title'=> BNRLAN_39, 'type'=>'method');
 		$fields['banner_amount']        = array('title'=> BNRLAN_41, 'type'=>'text', 'writeParms'=>array('pattern'=>'[0-9]*'));
-		$fields['banner_width']        = array('title'=> "Width", 'type'=>'text', 'help'=>"In pixels", 'writeParms'=>array('pattern'=>'[0-9]*'));
+		$fields['banner_width']         = array('title'=> LAN_WIDTH, 'type'=>'text', 'help'=>"In pixels", 'writeParms'=>array('pattern'=>'[0-9]*'));
 		$fields['banner_rendertype']    = array('title'=> BNRLAN_43, 'type'=>'dropdown', 'writeParms'=>array('optArray'=>$renderTypes));
 
         return $fields;
diff --git a/e107_plugins/banner/e_shortcode.php b/e107_plugins/banner/e_shortcode.php
index 425f0bdb4..9200adf5b 100644
--- a/e107_plugins/banner/e_shortcode.php
+++ b/e107_plugins/banner/e_shortcode.php
@@ -2,7 +2,7 @@
 /*
  * e107 website system
  *
- * Copyright (C) 2008-2013 e107 Inc (e107.org)
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
  * Released under the terms and conditions of the
  * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
  *
diff --git a/e107_plugins/banner/languages/English_admin.php b/e107_plugins/banner/languages/English_admin.php
index 3a3980a7b..21b229d23 100644
--- a/e107_plugins/banner/languages/English_admin.php
+++ b/e107_plugins/banner/languages/English_admin.php
@@ -1,10 +1,13 @@
 <?php
 /*
- * Copyright e107 Inc e107.org, Licensed under GNU GPL (http://www.gnu.org/licenses/gpl.txt)
+ * e107 website system
  *
- * Administration Language File
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
+ * Released under the terms and conditions of the
+ * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
  *
-*/
+ */
+ 
 
 define("BNRLAN_00", "No banners created yet."); // 15
 define("BNRLAN_01", "Banner ID not found.");
@@ -16,19 +19,19 @@ define("BNRLAN_01", "Banner ID not found.");
 // define("BNRLAN_5", "Impressions Left");
 
 // define("BNRLAN_6", "Unlimited"); // 35
-define("BNRLAN_7", "Stats"); // 65
-define("BNRLAN_8", "N/A"); // 66
-define("BNRLAN_9", "Starts"); // 45
-define("BNRLAN_10", "Ends"); // 21
+//define("BNRLAN_7", "Stats"); // 65 LAN_STATS
+//define("BNRLAN_8", "N/A"); // 66 BANNERLAN_31
+//define("BNRLAN_9", "Starts"); // 45 //LAN_START
+//define("BNRLAN_10", "Ends"); // 21 //LAN_END
 
 define("BNRLAN_11", "Campaign"); // 24
 define("BNRLAN_12", "Client Login"); // 30
-define("BNRLAN_13", "Client Password"); //31 
-define("BNRLAN_14", "Banner Image"); // 32
+//define("BNRLAN_13", "Client Password"); //31 
+//define("BNRLAN_14", "Banner Image"); // 32 LAN_IMAGE
 define("BNRLAN_15", "Click URL"); // 33 
 define("BNRLAN_16", "Number of impressions purchased"); // 34
-define("BNRLAN_17", "Start Date"); // 36
-define("BNRLAN_18", "End Date"); //37
+//define("BNRLAN_17", "Start Date"); // 36 //LAN_START
+//define("BNRLAN_18", "End Date"); //37 //LAN_END
 
 // 19 - 24 extra space
 
@@ -37,7 +40,7 @@ define("BNRLAN_25", "Add new or choose existing campaign");
 // define("BNRLAN_27", "New Campaign"); // 26a
 define("BNRLAN_28", "Add new or choose existing client");
 define("BNRLAN_29", "Enter new client");
-define("BNRLAN_30", "New Client"); // 29a
+//define("BNRLAN_30", "New Client"); // 29a
 
 define("BNRLAN_31", "No limit when left blank."); // 38
 define("BNRLAN_32", "Choose banner image"); // 43
@@ -46,9 +49,9 @@ define("BNRLAN_33", "Code"); //46
 // 34 - 35 extra space
 
 define("BNRLAN_35", "Banner menu"); // 61
-define("BNRLAN_36", "Banner Menu Configuration"); //68
+//define("BNRLAN_36", "Configure Menu"); //68
 
-define("BNRLAN_37", "Caption"); // BANNER_MENU_L3
+//define("BNRLAN_37", "Caption"); // BANNER_MENU_L3 LAN_CAPTION
 define("BNRLAN_38", "Advertisement"); // BANNER_MENU_L1
 
 define("BNRLAN_39", "Campaigns to show in menu"); // BANNER_MENU_L6
@@ -64,5 +67,9 @@ define("BNRLAN_46", "All selected campaigns rendered in one single menu"); // BA
 define("BNRLAN_47", "All selected campaigns rendered in separate menus"); // BANNER_MENU_L14
 define("BNRLAN_48", "All selected campaigns (no box rendering)");
 
-define("BNRLAN_49", "Tooltip");
-?>
\ No newline at end of file
+//define("BNRLAN_49", "Tooltip");//LAN_TOOLTIP Linkwords also 
+
+define("BNRLAN_HELP_01", "Banner Help");
+define("BNRLAN_HELP_02", "Use this plugin to manage advertising on your website.<br /><br />When creating a new banner you can create a username and password for your client to login and check the progress of the campaign. <br /><br />You can enable the banner menu using the menu manager and perform further configuration from there.");
+
+?>
diff --git a/e107_plugins/banner/languages/English_front.php b/e107_plugins/banner/languages/English_front.php
index 22da1a760..43178a10c 100644
--- a/e107_plugins/banner/languages/English_front.php
+++ b/e107_plugins/banner/languages/English_front.php
@@ -2,15 +2,15 @@
 /*
  * e107 website system
  *
- * Copyright (C) 2008-2014 e107 Inc (e107.org)
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
  * Released under the terms and conditions of the
  * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
  *
  */
  
 
-define("BANNERLAN_16", "Username: ");
-define("BANNERLAN_17", "Password: ");
+//define("BANNERLAN_16", "Username: ");//LAN_USER
+//define("BANNERLAN_17", "Password: ");//LAN_PASSWORD
 //define("BANNERLAN_18", "Continue"); // English LAN_CONTINUE
 define("BANNERLAN_19", "Please enter your client login and password to continue");
 define("BANNERLAN_20", "Sorry, unable to find those details in the database. Please contact the site administrator for details.");
@@ -22,14 +22,17 @@ define("BANNERLAN_25", "Click %");
 define("BANNERLAN_26", "Impressions");
 define("BANNERLAN_27", "Impressions Purchased");
 define("BANNERLAN_28", "Impressions Left");
-define("BANNERLAN_29", "No banners");
+//define("BANNERLAN_29", "No banners"); 
 define("BANNERLAN_30", "Unlimited");
 define("BANNERLAN_31", "Not applicable");
 //define("BANNERLAN_32", "Yes"); // English LAN_YES
 //define("BANNERLAN_33", "No"); // English LAN_NO
-define("BANNERLAN_34", "Ends:");
+//define("BANNERLAN_34", "Ends:");//LAN_END
 define("BANNERLAN_35", "Clickthrough IP addresses");
-define("BANNERLAN_36", "Active:");
-define("BANNERLAN_37", "Starts:");
+//define("BANNERLAN_36", "Active:");//LAN_VISIBILITY
+//define("BANNERLAN_37", "Starts:");//LAN_START
 //define("BANNERLAN_38", "Error"); // English LAN_ERROR
 define("BANNERLAN_39", "No image assigned to this banner.");
+
+?>
+
diff --git a/e107_plugins/banner/languages/English_global.php b/e107_plugins/banner/languages/English_global.php
index 97b75efbc..7403a5cfd 100644
--- a/e107_plugins/banner/languages/English_global.php
+++ b/e107_plugins/banner/languages/English_global.php
@@ -1,5 +1,13 @@
 <?php
-
+/*
+ * e107 website system
+ *
+ * Copyright (C) 2008-2016 e107 Inc (e107.org)
+ * Released under the terms and conditions of the
+ * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
+ *
+ */
+ 
 define("LAN_PLUGIN_BANNER_NAME",		"Banners");
 define("LAN_PLUGIN_BANNER_DESCRIPTION", "Add advertising banners to your e107 website");
 
diff --git a/e107_plugins/comment_menu/comment_menu.php b/e107_plugins/comment_menu/comment_menu.php
index f11d0d8df..9cec75027 100644
--- a/e107_plugins/comment_menu/comment_menu.php
+++ b/e107_plugins/comment_menu/comment_menu.php
@@ -33,6 +33,7 @@ else
 {
 	require_once(e_PLUGIN."comment_menu/comment_menu_template.php");
 }
+global $menu_pref;
 
 $data = $cobj->getCommentData(intval($menu_pref['comment_display']));
 
diff --git a/e107_plugins/download/includes/admin.php b/e107_plugins/download/includes/admin.php
index 28e8735ea..746270f88 100644
--- a/e107_plugins/download/includes/admin.php
+++ b/e107_plugins/download/includes/admin.php
@@ -138,7 +138,7 @@ class download_cat_ui extends e_admin_ui
 	 	 	
 		protected $fields = array(
 			'checkboxes'						=> array('title'=> '',				'type' => null, 			'width' =>'5%', 'forced'=> TRUE, 'thclass'=>'center', 'class'=>'center'),
-			'download_category_icon' 			=> array('title'=> LAN_ICON,		'type' => 'icon',			'width' => '5%', 'thclass' => 'center','class'=>'center','writeParms'=>'glyphs=1' ),	 
+			'download_category_icon' 			=> array('title'=> LAN_ICON,		'type' => 'method',			'width' => '5%', 'thclass' => 'center','class'=>'center','writeParms'=>'glyphs=1' ),
 			'download_category_id'				=> array('title'=> LAN_ID,			'type' => 'number',			'width' =>'5%', 'forced'=> TRUE),     		
          	'download_category_name' 			=> array('title'=> LAN_TITLE,		'type' => 'text',			'inline' => true, 'width' => 'auto', 'thclass' => 'left', 'writeParms'=>'size=xxlarge'),
        		'download_category_sef' 			=> array('title'=> LAN_SEFURL,		'type' => 'text',			'inline' => true,	'width' => 'auto', 'thclass' => 'left', 'writeParms'=>'size=xxlarge'),
@@ -196,6 +196,34 @@ class download_cat_form_ui extends e_admin_form_ui
 			break;
 		}
 	}
+
+
+
+
+	public function download_category_icon($curVal,$mode)
+	{
+
+		if(!empty($curVal) && strpos($curVal, chr(1)))
+		{
+			list($curVal,$tmp) = explode(chr(1),$curVal);
+		}
+
+		switch($mode)
+		{
+			case 'read':
+				return e107::getParser()->toIcon($curVal, array('legacy'=>'{e_IMAGE}icons/'));
+			break;
+
+			case 'write':
+				return $this->iconpicker('download_category_icon', $curVal,null,array('glyphs'=>true, 'legacyPath'=>'{e_IMAGE}icons/'));
+			break;
+
+			case 'filter':
+			case 'batch':
+				return null;
+			break;
+		}
+	}
 }
 
 
@@ -250,8 +278,8 @@ class download_main_admin_ui extends e_admin_ui
 			'download_active'			=> array('title'=> DOWLAN_21,			'type' => 'method', 		'data' => 'int',		'width' => '5%',	'thclass' => 'center', 'class' => 'center',	'batch' => TRUE, 'filter'=>TRUE, 'noedit' => true),
 			'download_datestamp' 		=> array('title'=> LAN_DATE, 			'type' => 'datestamp', 	'data' => 'int',		'width' => 'auto',	'thclass' => '', 'readParms' => 'long', 'writeParms' => ''),
 			
-			'download_thumb' 			=> array('title'=> DOWLAN_20,			'type' => 'image', 		'data' => 'str',		'width' => '100px',	'thclass' => 'center', 'class'=>'center', 'readParms'=>'thumb=60&thumb_urlraw=0&thumb_aw=60','readonly'=>TRUE ),
-			'download_image' 			=> array('title'=> DOWLAN_19,			'type' => 'image', 		'data' => 'str',		'width' => '100px',	'thclass' => 'center', 'class'=>'center', 'readParms'=>'thumb=60&thumb_urlraw=0&thumb_aw=60','readonly'=>TRUE,	'batch' => FALSE, 'filter'=>FALSE),
+			'download_thumb' 			=> array('title'=> DOWLAN_20,			'type' => 'image', 		'data' => 'str',		'width' => '100px',	'thclass' => 'center', 'class'=>'center', 'readParms'=>'thumb=60&thumb_urlraw=0&thumb_aw=60&legacyPath={e_FILE}downloadthumbs',  'readonly'=>TRUE ),
+			'download_image' 			=> array('title'=> DOWLAN_19,			'type' => 'image', 		'data' => 'str',		'width' => '100px',	'thclass' => 'center', 'class'=>'center', 'readParms'=>'thumb=60&thumb_urlraw=0&thumb_aw=60&legacyPath={e_FILE}downloadimages', 'readonly'=>TRUE,	'batch' => FALSE, 'filter'=>FALSE),
 			'download_comment'			=> array('title'=> DOWLAN_102,			'type' => 'boolean', 		'data' => 'int',		'width' => '5%',	'thclass' => 'center',	'batch' => TRUE, 'filter'=>TRUE, 'noedit' => true),
 			
 			'download_class' 			=> array('title'=> DOWLAN_113,			'type' => 'userclass',		'width' => 'auto', 'inline'=>true, 'data' => 'int','batch' => TRUE, 'filter'=>TRUE),		
@@ -1387,7 +1415,7 @@ $columnInfo = array(
 									 $text .= "     </select>";
 										   */
 		   
-		$text .= $frm->imagepicker('download_image', $download_image,'','download_image'); 
+		$text .= $frm->imagepicker('download_image', $download_image,'',array('mode'=>'download_image', 'legacyPath'=>'{e_FILE}downloadimages'));
 		  
 	      if ($subAction == "dlm" && $download_image)
 	      {
@@ -1418,7 +1446,7 @@ $columnInfo = array(
 										 $text .= "        </select>";
 						   */
 				 
-				 $text .= $frm->imagepicker('download_thumb', $download_thumb,'','download_thumb'); 
+				 $text .= $frm->imagepicker('download_thumb', $download_thumb,'',array('mode'=>'download_thumb', 'legacyPath'=>'{e_FILE}downloadthumbs'));
 				 
 				 
 			    $text .= "
diff --git a/e107_plugins/forum/forum_viewforum.php b/e107_plugins/forum/forum_viewforum.php
index bee723219..29669b155 100644
--- a/e107_plugins/forum/forum_viewforum.php
+++ b/e107_plugins/forum/forum_viewforum.php
@@ -223,8 +223,8 @@ if(varset($pref['track_online']))
 {
 //	$member_users = $sql->count('online', '(*)', "WHERE online_location REGEXP('viewforum.php.id=$forumId\$') AND online_user_id != 0");
 //	$guest_users = $sql->count('online', '(*)', "WHERE online_location REGEXP('viewforum.php.id=$forumId\$') AND online_user_id = 0");
-	$member_users = $sql->count('online', '(*)', "WHERE online_location LIKE('".$tp->filter(e_REQUEST_URI)."%', 'url') AND online_user_id != 0");
-	$guest_users = $sql->count('online', '(*)', "WHERE online_location LIKE('".$tp->filter(e_REQUEST_URI)."%', 'url') AND online_user_id = 0");
+	$member_users = $sql->count('online', '(*)', "WHERE online_location LIKE('".$tp->filter(e_REQUEST_URI, 'url')."%') AND online_user_id != 0");
+	$guest_users = $sql->count('online', '(*)', "WHERE online_location LIKE('".$tp->filter(e_REQUEST_URI, 'url')."%') AND online_user_id = 0");
 
 
 	$users = $member_users+$guest_users;
diff --git a/e107_plugins/login_menu/login_menu_shortcodes.php b/e107_plugins/login_menu/login_menu_shortcodes.php
index b8c6ccc1d..5063061ca 100755
--- a/e107_plugins/login_menu/login_menu_shortcodes.php
+++ b/e107_plugins/login_menu/login_menu_shortcodes.php
@@ -110,14 +110,21 @@ e107::getLanguage()->bcDefs($bcDefs);
 			}
 
 
+			/**
+			 * @deprecated use {LM_IMAGECODE_NUMBER}, {LM_IMAGECODE_BOX} instead
+			 * @param string $parm
+			 * @return string
+			 */
 			function sc_lm_imagecode($parm='')
 			{
 				//DEPRECATED - use LM_IMAGECODE_NUMBER, LM_IMAGECODE_BOX instead
 				if($this->use_imagecode)
 				{
-				    return '<input type="hidden" name="rand_num" id="rand_num" value="'.$this->sec->random_number.'" />
+					return $this->sc_lm_imagecode_number()."<br />".$this->sc_lm_imagecode_box();
+				    /*return '<input type="hidden" name="rand_num" id="rand_num" value="'.$this->sec->random_number.'" />
 				            '.$this->sec->r_image().'
 				            <br /><input class="tbox login verify" type="text" name="code_verify" id="code_verify" size="15" maxlength="20" /><br />';
+					*/
 				}
 				return '';
 			}
@@ -127,20 +134,23 @@ e107::getLanguage()->bcDefs($bcDefs);
 			{
 				if($this->use_imagecode)
 				{
-				    return '<input type="hidden" name="rand_num" id="rand_num" value="'.$this->sec->random_number.'" />
-				        '.$this->sec->r_image();
+					return e107::getSecureImg()->renderImage();
+				 /*   return '<input type="hidden" name="rand_num" id="rand_num" value="'.$this->sec->random_number.'" />
+				        '.$this->sec->r_image();*/
 				}
+
 				return '';
 			}
 
 			function sc_lm_imagecode_box($parm='')
 			{
-				$placeholder = LAN_ENTER_CODE;
-
 				if($this->use_imagecode)
 				{
-				    return '<input class="form-control tbox login verify" type="text" name="code_verify" id="code_verify" size="15" maxlength="20" placeholder="'.$placeholder.'" />';
+					return e107::getSecureImg()->renderInput();
+					// $placeholder = LAN_ENTER_CODE;
+				  //  return '<input class="form-control tbox login verify" type="text" name="code_verify" id="code_verify" size="15" maxlength="20" placeholder="'.$placeholder.'" />';
 				}
+
 				return '';
 			}
 
diff --git a/e107_plugins/newsletter/nl_archive.php b/e107_plugins/newsletter/nl_archive.php
index e09cdd548..a31ef618c 100644
--- a/e107_plugins/newsletter/nl_archive.php
+++ b/e107_plugins/newsletter/nl_archive.php
@@ -47,7 +47,7 @@ else
 	}
 	else
 	{
-		$limit_start = $_POST['limit_start'];
+		$limit_start = intval($_POST['limit_start']);
 	}
 	$nl_count = $sql->count('newsletter', '(*)', "WHERE newsletter_parent='".$action_parent_id."' AND newsletter_flag='1'");
 	if ($nl_count > 0)
diff --git a/index.php b/index.php
index 38767a1e8..35d75406c 100644
--- a/index.php
+++ b/index.php
@@ -96,6 +96,11 @@
 
 		foreach($tmp as $plug=>$cfg)
 		{
+			if(empty($pref['e_url_list'][$plug])) // disabled.
+			{
+				e107::getDebug()->log('e_URL for <b>'.$plug.'</b> is disabled.');
+				continue;
+			}
 
 			foreach($cfg as $k=>$v)
 			{
@@ -125,7 +130,7 @@
 				
 				$newLocation = preg_replace($regex, $v['redirect'], $req);
 
-				if($newLocation !=$req)
+				if($newLocation != $req)
 				{
 					$redirect = e107::getParser()->replaceConstants($newLocation);
 					list($file,$query) = explode("?",$redirect,2);
diff --git a/install.php b/install.php
index b0a73d8c5..3954565dd 100644
--- a/install.php
+++ b/install.php
@@ -137,7 +137,7 @@ $override = array();
 if(isset($_POST['previous_steps']))
 {
 	$tmp = unserialize(base64_decode($_POST['previous_steps']));
-	$tmp = $tp->filter($tmp);
+	$tmp = filter_var_array($tmp, FILTER_SANITIZE_STRING);
 	$override = (isset($tmp['paths']['hash'])) ? array('site_path'=>$tmp['paths']['hash']) : array();
 	unset($tmp);
 }
diff --git a/login.php b/login.php
index 2dd22b131..12fed7e6c 100644
--- a/login.php
+++ b/login.php
@@ -87,7 +87,7 @@ if (!USER || getperms('0'))
 	if(!empty($LOGIN_TEMPLATE['page']))
 	{
 		$LOGIN_TABLE_HEADER = $LOGIN_TEMPLATE['page']['header'];
-		$LOGIN_TABLE 		= "<form class='form-signin' method='post' action='".e_SELF."' onsubmit='hashLoginPassword(this)' >".$LOGIN_TEMPLATE['page']['body']."</form>";
+		$LOGIN_TABLE 		= "<form id='login-page' class='form-signin' method='post' action='".e_SELF."' onsubmit='hashLoginPassword(this)' >".$LOGIN_TEMPLATE['page']['body']."</form>";
 		$LOGIN_TABLE_FOOTER = $LOGIN_TEMPLATE['page']['footer'];
 	}
 	
diff --git a/news.php b/news.php
index 03dbb4abb..e52d85fbd 100644
--- a/news.php
+++ b/news.php
@@ -1124,7 +1124,8 @@ if(is_dir("remotefile")) {
 	}
 }
 
-if (isset($pref['nfp_display']) && $pref['nfp_display'] == 2) {
+if (isset($pref['nfp_display']) && $pref['nfp_display'] == 2 && is_readable(e_PLUGIN."newforumposts_main/newforumposts_main.php"))
+{
 	require_once(e_PLUGIN."newforumposts_main/newforumposts_main.php");
 }