diff --git a/data/CRMEntity.php b/data/CRMEntity.php
index ae1704aa72b1a5071f4376e987fdd6d57c1fc08e..735c86749852e01588f7f4258b9d44a1de5ab05f 100755
--- a/data/CRMEntity.php
+++ b/data/CRMEntity.php
@@ -267,9 +267,7 @@ class CRMEntity {
 			$groupid = 0;
 
 
-		if(empty($ownerid) && $ownerid === 0 && $module == "Cases"){
-			// Allow $ownerid = 0 for Cases module    
-		} else if(empty($ownerid)) {
+		if (empty($ownerid)) {
 			$ownerid = $current_user->id;
 		}
 
@@ -2950,7 +2948,7 @@ class TrackableObject implements ArrayAccess, IteratorAggregate {
 			// decode_html only expects string
 			$olderValue = is_string($olderValue) ? decode_html($olderValue) : $olderValue ;
 			//same logic is used in vtEntityDelta to check for delta
-			if((empty($olderValue) && !empty($value)) || ($olderValue != $value)) {
+			if((empty($olderValue) && !empty($value)) || ($olderValue !== $value)) {
 				$this->changed[] = $key;
 			}
 		}
diff --git a/include/ListView/ListViewController.php b/include/ListView/ListViewController.php
index 94c4e811cd046782dc9cd64407afc8402e17e642..ccc648e90cf4e447b3c132095bad43438ae5bf77 100644
--- a/include/ListView/ListViewController.php
+++ b/include/ListView/ListViewController.php
@@ -406,9 +406,7 @@ class ListViewController {
 						}
 					}
 				} elseif ($fieldDataType == 'double') {
-					if ($value) {
-						$value = CurrencyField::convertToUserFormat($value, null, true);
-					}
+					$value = decimalFormat($value);
 				} elseif($fieldDataType == 'url') {
 					$matchPattern = "^[\w]+:\/\/^";
 					preg_match($matchPattern, $rawValue, $matches);
diff --git a/include/database/PearDatabase.php b/include/database/PearDatabase.php
index 6e590733dfbe2c178eb4a3eeaf7eea65ef34f67f..218429d7b75910ae870f5b4fdd235b5504b59243 100644
--- a/include/database/PearDatabase.php
+++ b/include/database/PearDatabase.php
@@ -810,6 +810,16 @@ class PearDatabase{
 		if ($this->database->clientFlags == 0 && isset($dbconfigoption['clientFlags'])) {
 			$this->database->clientFlags = $dbconfigoption['clientFlags'];
 		}
+
+		if ($this->dbType == 'mysqli') {
+			$optionFlags = array();
+			if ($this->database->optionFlags) {
+				$optionFlags = $this->database->optionFlags;
+			}
+
+			$optionFlags = array_merge($optionFlags, array(array(MYSQLI_OPT_LOCAL_INFILE, true)));
+			$this->database->optionFlags = $optionFlags;
+		}
 		// End
 
 		$result = $this->database->PConnect($this->dbHostName, $this->userName, $this->userPassword, $this->dbName);
diff --git a/languages/en_us/Vtiger.php b/languages/en_us/Vtiger.php
index e0283c08e7193597f057406e1eb6013eba4f7e23..719b42c171860b9ce79270d172f423d450b67eb3 100644
--- a/languages/en_us/Vtiger.php
+++ b/languages/en_us/Vtiger.php
@@ -464,6 +464,18 @@ $languageStrings = array(
 	'LBL_IS_EMPTY'=> 'is empty',
 	'LBL_IS_NOT_EMPTY' => 'is not empty',
 	'LBL_APPROVE' => 'Approve',
+	'LBL_HAS_CHANGED' => 'has changed',
+	'LBL_HAS_CHANGED_TO' => 'has changed to',
+	'LBL_HAS_CHANGED_FROM' => 'has changed from',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'less than or equal to',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'greater than or equal to',
+	'LBL_IS_NOT' => 'is not',
+	'LBL_IS_ADDED' => 'is added',
+	'LBL_IS_TODAY' => 'is today',
+	'LBL_IS_TOMORROW' => 'is tomorrow',
+	'LBL_IS_YESTERDAY' => 'is yesterday',
+	'LBL_LESS_THAN_DAYS_LATER' => 'less than days later',
+	'LBL_MORE_THAN_DAYS_LATER' => 'more than days later',
 
 	//Detail view summary widgets
 	'LBL_OWNER' => 'Owner',
diff --git a/layouts/v7/lib/anchorme_js/LICENSE b/layouts/v7/lib/anchorme_js/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..6ce4915b765f4d1f550f4a95a031e889752d5457
--- /dev/null
+++ b/layouts/v7/lib/anchorme_js/LICENSE
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 Ali Saleem
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
diff --git a/layouts/v7/lib/anchorme_js/anchorme.js b/layouts/v7/lib/anchorme_js/anchorme.js
new file mode 100644
index 0000000000000000000000000000000000000000..43e9a68e734bc1b3b5106da8938f71821655e875
--- /dev/null
+++ b/layouts/v7/lib/anchorme_js/anchorme.js
@@ -0,0 +1,431 @@
+/**
+ *
+ *
+ * Anchorme.js
+ * 0.6.0
+ * @auth: Ali Saleem <ali.a.saleem@outlook.com>
+ * @repo: https://github.com/ali-saleem/anchorme.js
+ * 
+ *
+ *
+ **/
+
+
+
+(function(window) {
+
+	'use strict';
+	
+	// ES6 endsWith polyfill
+	if (!String.prototype.endsWith) {
+		String.prototype.endsWith = function(searchString, position) {
+			var subjectString = this.toString();
+			if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {
+				position = subjectString.length;
+			}
+			position -= searchString.length;
+			var lastIndex = subjectString.indexOf(searchString, position);
+			return lastIndex !== -1 && lastIndex === position;
+		};
+	}
+	
+	// ES6 startsWith polyfill
+	if (!String.prototype.startsWith) {
+		String.prototype.startsWith = function(searchString, position) {
+			position = position || 0;
+			return this.substr(position, searchString.length) === searchString;
+		};
+	}
+
+	var anchorme = {};
+
+	// helper function that counts the occurences of a specific substring in a string
+	anchorme.occurrences = function(string, subString, allowOverlapping) {
+		string += "";
+		subString += "";
+		if (subString.length <= 0) return string.length + 1;
+		var n = 0,
+			pos = 0;
+		var step = (allowOverlapping) ? (1) : (subString.length);
+		while (true) {
+			pos = string.indexOf(subString, pos);
+			if (pos >= 0) {
+				n++;
+				pos += step;
+			}
+			else break;
+		}
+		return (n);
+	};
+	
+	// function to avoid breaking of the HTML
+	anchorme.dontbreakHTML = function(str) {
+		var atrs = ["src","href","cite","formaction","icon","manifest","poster","codebase","background","profile","usemap"]; 
+		for (var i = atrs.length; i--;) {
+			var needles = [atrs[i]+'=" ', atrs[i]+"=' "];
+			var replacements = [atrs[i]+'="', atrs[i]+"='"];
+			str = str.split(needles[0]).join(replacements[0]);
+			str = str.split(needles[1]).join(replacements[1]);
+		}
+		return str;
+	};
+
+
+	anchorme.removeCharifItEndsWithIt = function(url,char) {
+		if (url.endsWith(char)) {
+			url = url.substring(0, url.length - 1);
+			return anchorme.removeCharifItEndsWithIt(url,char);
+		}
+		else return url;
+	};
+
+
+	anchorme.TLDs = ['.com','.org','.edu','.gov','.uk','.net','.ca','.de','.jp','.fr','.au','.us','.ru','.ch','.it','.nl','.se','.no','.es','.io','.aero','.mil','.biz','.cat','.coop','.info','.jobs','.mobi','.museum','.name','.pro','.travel','.ac','.ad','.ae','.af','.ag','.ai','.al','.am','.an','.ao','.ap','.aq','.ar','.as','.at','.aw','.az','.ax','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm','.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.cc','.cd','.cf','.cg','.ci','.ck','.cl','.cm','.cn','.co','.cr','.cs','.cu','.cv','.cx','.cy','.cz','.dj','.dk','.dm','.do','.dz','.ec','.ee','.eg','.eh','.er','.et','.eu','.fi','.fj','.fk','.fm','.fo','.ga','.gb','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm','.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gw','.gy','.hk','.hm','.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io','.iq','.ir','.is','.je','.jm','.jo','.ke','.kg','.kh','.ki','.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.lb','.lc','.li','.lk','.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.mg','.mh','.mk','.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt','.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','.ne','.nf','.ng','.ni','.np','.nr','.nu','.nz','.om','.pa','.pe','.pf','.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','.pt','.pw','.py','.qa','.re','.ro','.rw','.sa','.sb','.sc','.sd','.sg','.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.sv','.sy','.sz','.tc','.td','.tf','.tg','.th','.tj','.tk','.tl','.tm','.tn','.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','.ug','.um','.uy','.uz','.va','.vc','.ve','.vg','.vi','.vn','.vu','.wf','.ws','.ye','.yt','.yu','.za','.zm','.zw','.guru','.berlin','.photography','.tips','.today','.email','.technology','.company','.clothing','.me','.asia','.abb','.academy','.active','.actor','.ads','.adult','.afl','.agency','.aig','.airforce','.alsace','.amsterdam','.android','.apartments','.app','.aquarelle','.archi','.army','.associates','.attorney','.auction','.audio','.auto','.autos','.axa','.azure','.band','.bank','.bar','.barcelona','.barclays','.bargains','.bauhaus','.bayern','.bbc','.bbva','.bcn','.beer','.bentley','.best','.bharti','.bible','.bid','.bike','.bing','.bingo','.bio','.black','.blackfriday','.bloomberg','.blue','.bmw','.bnl','.bnpparibas','.boats','.bond','.boo','.boutique','.bradesco','.bridgestone','.broker','.brother','.brussels','.budapest','.build','.builders','.business','.buzz','.bzh','.cab','.cafe','.cal','.camera','.camp','.canon','.capetown','.capital','.caravan','.cards','.care','.career','.careers','.cars','.cartier','.casa','.cash','.casino','.catering','.cba','.cbn','.center','.ceo','.cern','.cfa','.cfd','.channel','.chat','.cheap','.chloe','.christmas','.chrome','.church','.cisco','.citic','.city','.claims','.cleaning','.click','.clinic','.cloud','.club','.coach','.codes','.coffee','.college','.cologne','.community','.computer','.condos','.construction','.consulting','.contractors','.cooking','.cool','.corsica','.country','.coupons','.courses','.credit','.creditcard','.cricket','.crown','.crs','.cruises','.cuisinella','.cw','.cymru','.cyou','.dabur','.dad','.dance','.date','.dating','.datsun','.day','.dclk','.deals','.degree','.delivery','.delta','.democrat','.dental','.dentist','.desi','.design','.dev','.diamonds','.diet','.digital','.direct','.directory','.discount','.dnp','.docs','.dog','.doha','.domains','.doosan','.download','.drive','.durban','.dvag','.earth','.eat','.education','.emerck','.energy','.engineer','.engineering','.enterprises','.epson','.equipment','.erni','.esq','.estate','.eus','.events','.everbank','.exchange','.expert','.exposed','.express','.fail','.faith','.fan','.fans','.farm','.fashion','.feedback','.film','.finance','.financial','.firmdale','.fish','.fishing','.fit','.fitness','.flights','.florist','.flowers','.flsmidth','.fly','.foo','.football','.forex','.forsale','.forum','.foundation','.frl','.frogans','.fund','.furniture','.futbol','.fyi','.gal','.gallery','.game','.garden','.gbiz','.gdn','.gent','.genting','.ggee','.gift','.gifts','.gives','.glass','.gle','.global','.globo','.gmail','.gmo','.gmx','.gold','.goldpoint','.golf','.goo','.goog','.google','.gop','.graphics','.gratis','.green','.gripe','.guge','.guide','.guitars','.hamburg','.hangout','.haus','.healthcare','.help','.here','.hermes','.hiphop','.hitachi','.hiv','.hockey','.holdings','.holiday','.homedepot','.homes','.honda','.horse','.host','.hosting','.hoteles','.hotmail','.house','.how','.hsbc','.ibm','.icbc','.icu','.ifm','.iinet','.immo','.immobilien','.industries','.infiniti','.ing','.ink','.institute','.insure','.int','.international','.investments','.irish','.ist','.istanbul','.iwc','.java','.jcb','.jetzt','.jewelry','.jlc','.jll','.joburg','.jprs','.juegos','.kaufen','.kddi','.kim','.kitchen','.kiwi','.koeln','.komatsu','.krd','.kred','.kyoto','.lacaixa','.land','.lasalle','.lat','.latrobe','.law','.lawyer','.lds','.lease','.leclerc','.legal','.lgbt','.liaison','.lidl','.life','.lighting','.limited','.limo','.link','.live','.loan','.loans','.lol','.london','.lotte','.lotto','.love','.ltda','.lupin','.luxe','.luxury','.madrid','.maif','.maison','.management','.mango','.market','.marketing','.markets','.marriott','.mba','.media','.meet','.melbourne','.meme','.memorial','.men','.menu','.miami','.microsoft','.mini','.mma','.moda','.moe','.monash','.money','.montblanc','.mormon','.mortgage','.moscow','.motorcycles','.mov','.movie','.movistar','.mtn','.mtpc','.nadex','.nagoya','.navy','.nec','.netbank','.network','.neustar','.new','.news','.nexus','.ngo','.nhk','.nico','.ninja','.nissan','.nra','.nrw','.ntt','.nyc','.office','.okinawa','.omega','.one','.ong','.onl','.online','.ooo','.oracle','.orange','.organic','.osaka','.otsuka','.ovh','.page','.panerai','.paris','.partners','.parts','.party','.pharmacy','.philips','.photo','.photos','.physio','.piaget','.pics','.pictet','.pictures','.pink','.pizza','.place','.play','.plumbing','.plus','.pohl','.poker','.porn','.post','.praxi','.press','.prod','.productions','.prof','.properties','.property','.pub','.qpon','.quebec','.racing','.realtor','.realty','.recipes','.red','.redstone','.rehab','.reise','.reisen','.reit','.ren','.rent','.rentals','.repair','.report','.republican','.rest','.restaurant','.review','.reviews','.rich','.ricoh','.rio','.rip','.rocks','.rodeo','.rs','.rsvp','.ruhr','.run','.ryukyu','.saarland','.sakura','.sale','.samsung','.sandvik','.sap','.sarl','.saxo','.sca','.scb','.school','.schule','.schwarz','.science','.seat','.sener','.services','.sew','.sex','.sexy','.shiksha','.shoes','.show','.shriram','.singles','.site','.ski','.sky','.skype','.sncf','.soccer','.social','.software','.sohu','.solar','.solutions','.sony','.soy','.space','.spiegel','.spreadbetting','.starhub','.statoil','.studio','.study','.style','.su','.sucks','.supplies','.supply','.support','.surf','.surgery','.suzuki','.swatch','.swiss','.sx','.sydney','.systems','.taipei','.tatar','.tattoo','.tax','.taxi','.team','.tech','.tel','.telefonica','.temasek','.tennis','.thd','.theater','.tickets','.tienda','.tires','.tirol','.tokyo','.tools','.top','.toray','.toshiba','.tours','.town','.toys','.trade','.trading','.training','.trust','.tui','.ubs','.university','.uno','.uol','.vacations','.vegas','.ventures','.versicherung','.vet','.viajes','.video','.villas','.vision','.vista','.vistaprint','.vlaanderen','.vodka','.vote','.voting','.voto','.voyage','.wales','.walter','.wang','.watch','.webcam','.website','.wed','.wedding','.weir','.wien','.wiki','.win','.windows','.wme','.work','.works','.world','.wtc','.wtf','.xbox','.xerox','.xin','.xxx','.xyz','.yandex','.youtube','.zip','.zone','.zuerich'];
+	anchorme.checks = {};
+	anchorme.checks.ip = function (str) {
+		if (anchorme.occurrences(str, ".") > 2) {
+			var IPArray = str.split(".");
+			var oc1 = IPArray[0];
+			var oc2 = IPArray[1];
+			var oc3 = IPArray[2];
+			if (IPArray[3].indexOf(":") > 0) {
+				var i_colon = IPArray[3].indexOf(":");
+				var oc4 = IPArray[3].substring(0, i_colon);
+				var proOC = IPArray[3].substring(i_colon);
+			}
+			else if (IPArray[3].indexOf("/") > 0) {
+				var i_FoSlash = IPArray[3].indexOf("/");
+				var oc4 = IPArray[3].substring(0, i_FoSlash);
+				var proOC = IPArray[3].substring(i_FoSlash);
+			}
+			else {
+				var oc4 = IPArray[3];
+				var proOC = false;
+			}
+			if (proOC === false || proOC.charAt(0) === "/" || proOC.charAt(0) === ":") {
+				if (
+					!isNaN(oc1) && 
+					!isNaN(oc2) && 
+					!isNaN(oc3) && 
+					!isNaN(oc4) &&
+					oc1 - 1 <= 254 &&
+					oc2 - 1 <= 254 &&
+					oc3 - 1 <= 254 &&
+					oc4 - 1 <= 254 &&
+					oc1.length > 0 &&
+					oc2.length > 0 &&
+					oc3.length > 0 &&
+					oc4.length > 0
+				) {return true;}
+			} return false;
+		} return false;
+	};
+	anchorme.checks.email = function (str,howManyTLDsToCheck) {
+		str = str.toLowerCase();
+		if (anchorme.occurrences(str, "@") == 1) {
+			str = anchorme.removeCharifItEndsWithIt(str,".");
+			str = anchorme.removeCharifItEndsWithIt(str,",");
+			str = anchorme.removeCharifItEndsWithIt(str,";");
+			var i_at = str.indexOf("@");
+			var Ename = str.substring(0, i_at);
+			var Eserver = str.substring(i_at + 1, str.length);
+			
+			var EmailAllowed = true;
+			for (var x = 0; x < Ename.length; x++) {
+				var char = Ename[x];
+				if ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%&'*+-/=?^_`{|}~.".indexOf(char) === -1) {
+					x = Ename.length;
+					EmailAllowed = false;
+				}
+			}
+			
+			for (var x = 0; x < Eserver.length; x++) {
+				var cr = Eserver[x];
+				if ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-.:".indexOf(cr) === -1) {
+					x = Eserver.length;
+					EmailAllowed = false;
+				}
+			}
+			
+			if (EmailAllowed) {
+				var validTLD = false;
+				for (var x = 0; x < howManyTLDsToCheck; x++) {
+					var d = anchorme.TLDs[x];
+					if (str.endsWith(d)) {
+						x = anchorme.TLDs.length;
+						validTLD = true;
+					}
+				}
+				if (validTLD === true) return true;
+				else return false;
+			} else return false;
+		} return false;
+	};
+	anchorme.checks.url = function (str,howManyTLDsToCheck) {
+		str = str.toLowerCase();
+		if(str.indexOf(".") > 0 && (str.indexOf("/") > 3 || str.indexOf("/") < 0)) {
+			str = anchorme.removeCharifItEndsWithIt(str,".");
+			str = anchorme.removeCharifItEndsWithIt(str,",");
+			str = anchorme.removeCharifItEndsWithIt(str,";");
+			if(anchorme.occurrences(str,".") == 1 && str.indexOf(".") === str.length - 1) return false;
+			var domainAllowed = true;
+			if (str.indexOf("/") > 3) {
+				var i_FoSlash = str.indexOf("/");
+				var pre_slash = str.substring(0, i_FoSlash);
+				if(pre_slash.indexOf("..") > -1) return false;
+				for (var x = 0; x < pre_slash.length; x++) {
+					var cr = pre_slash[x];
+					if ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-.:".indexOf(cr) === -1) {
+						x = pre_slash.length;
+						domainAllowed = false;
+					}
+				}
+			} else {
+				if(str.indexOf("..") > -1) return false;
+				for (var x = 0; x < str.length; x++) {
+					var cr = str[x];
+					if ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-.:".indexOf(cr) === -1) {
+						x = str.length;
+						domainAllowed = false;
+					}
+				}
+			}
+			if (domainAllowed) {
+				if (str.endsWith(".com")) return true;
+					for (var x = 0; x < howManyTLDsToCheck; x++) {
+						var tld = anchorme.TLDs[x];
+						if (str.endsWith(tld) || str.indexOf(tld+"/") > -1 || str.indexOf(tld+":") > -1) {
+							x = anchorme.TLDs.length;
+							return true;
+						}
+					}
+					return false;
+			} else return false;
+		} else return false;
+	};
+	anchorme.order = function(input, options) {
+		// split the input (the text we will work on) into an array
+		// and do checks on each item of this array
+		var splitedArray = input.split(" ");
+		for (var i = 0; i < splitedArray.length; i++) {
+			var fragment = splitedArray[i];
+			var isurl = false;
+			var protocol = false;
+			
+			/**
+			 * 
+			 * First check is to check the number of dots
+			 * if there are more than 0 (i.e one or more)
+			 * then this might by a URL
+			 * else, this is surely not a URL
+			 * 
+			 **/
+			if(fragment.indexOf(".") > -1) {
+				/**
+				 * second check, is to see if the fragment has any charecters
+				 * that are not allowed neither in a URL, nor in an
+				 * email, nor in an IP.
+				 **/
+				var allAllowed = true;
+				var URLallowed = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=%";
+				
+				for (var x = 0; x < fragment.length; x++) {
+					var cr = fragment[x];
+					if (URLallowed.indexOf(cr) === -1) {
+						x = fragment.length;
+						allAllowed = false;
+					}
+				}
+				if (allAllowed) {
+					
+					/**
+					 * third check is to see if the fragment begins with
+					 * a protocol, it it does, then it's a URL no other
+					 * tests will be done.
+					 **/
+					
+					if( 	options.urls 	&& 	(fragment.startsWith("http://") 	||	fragment.startsWith("HTTP://"))) 	isurl = true;
+					else if(options.urls 	&&	(fragment.startsWith("https://") 	||	fragment.startsWith("HTTPS://"))) 	isurl = true;
+					else if(options.urls 	&&	(fragment.startsWith("ftp://") 		||	fragment.startsWith("FTP://"))) 	isurl = true;
+					else if(options.urls	&&	(fragment.startsWith("file:///") 	||	fragment.startsWith("FILE:///"))) 	isurl = true;
+					else if(options.emails 	&&	(fragment.startsWith("mailto:") 	||	fragment.startsWith("MAILTO:"))) 	isurl = true;
+					
+					/**
+					 * 
+					 * Other checks are written in seperate functions
+					 * they are:
+					 * 	* a check for IP
+					 * 	* a checK for email
+					 * 	* a check for URL
+					 **/
+					
+					else if (anchorme.checks.ip(fragment) && options.ips && fragment.indexOf(".") > 0) {
+						isurl = true;
+						protocol = options.defaultProtocol;
+					}
+					
+					else if (anchorme.checks.email(fragment,options.TLDs) && options.emails && fragment.indexOf(".") > -1 && fragment.indexOf("@") > -1) {
+						isurl = true;
+						protocol = "mailto:";
+					}
+					
+					else if (anchorme.checks.url(fragment,options.TLDs) && options.urls) {
+						isurl = true;
+						protocol = options.defaultProtocol;
+					}
+					
+					/**
+					 * 
+					 * All checks are done now
+					 * At this point, we either have a true value or false value
+					 * of isurl
+					 * if it's true, we need to modify the splittedArray fragment
+					 * if it's false, no modifications will be done
+					 * 
+					 **/
+					
+					if (isurl) {
+						
+						var url = protocol ? protocol + fragment : fragment;
+						
+						url = anchorme.removeCharifItEndsWithIt(url,".");
+						url = anchorme.removeCharifItEndsWithIt(url,",");
+						url = anchorme.removeCharifItEndsWithIt(url,";");
+						
+						if (options.attributes) {
+							splitedArray[i] = "<a href='" + url + "'";
+							for (var name in options.attributes) {
+								splitedArray[i] = splitedArray[i] + " " + name + "='" + options.attributes[name] + "' ";
+							}
+							splitedArray[i] = splitedArray[i] + ">" + fragment + "</a>";
+						}
+						else {
+							splitedArray[i] = "<a href='" + url + "'>" + fragment + "</a>";
+						}
+					}
+				}
+			}
+		}
+		return splitedArray.join(" ");
+	};
+	
+	// function to be called by user
+	anchorme.js = function(str, options) {
+		
+		// Starts by assigning the default options
+		// if the whole options object is ommited
+		if(typeof options !== "object") {
+			options = {
+				"attributes":false,
+				"html":true,
+				ips:true,
+				emails:true,
+				urls:true,
+				TLDs:20,
+				defaultProtocol:"http://"
+			};
+		}
+		
+		// if some options were ommited and some options were given:
+		else {
+			if(typeof options.attributes 		!= "object") 	options.attributes = false;
+			if(typeof options.html 				!= "boolean") 	options.html = true;
+			if(typeof options.ips 				!= "boolean") 	options.ips = true;
+			if(typeof options.emails 			!= "boolean") 	options.emails = true;
+			if(typeof options.urls 				!= "boolean") 	options.urls = true;
+			if(typeof options.TLDs 				!= "number") 	options.TLDs = 20;
+			if(typeof options.defaultProtocol 	!= "string") 	options.defaultProtocol = "http://";
+		}
+		
+		if(options.html){
+			if(
+				str.indexOf("</a>") 		> -1	||
+				str.indexOf("<img ") 		> -1 	||
+				str.indexOf("<blockquote ") > -1 	||
+				str.indexOf("<del ") 		> -1 	||
+				str.indexOf("<iframe ") 	> -1 	||
+				str.indexOf("<script  ") 	> -1 	||
+				str.indexOf("<audio ") 		> -1	||
+				str.indexOf("<button ") 	> -1 	||
+				str.indexOf("<command ") 	> -1 	||
+				str.indexOf("<embed ") 		> -1 	||
+				str.indexOf("<html ") 		> -1 	||
+				str.indexOf("<video ") 		> -1 	||
+				str.indexOf("<applet ") 	> -1 	||
+				str.indexOf("<area ") 		> -1 	||
+				str.indexOf("<base ") 		> -1 	||
+				str.indexOf("<body ") 		> -1 	||
+				str.indexOf("<frame ") 		> -1 	||
+				str.indexOf("<head ") 		> -1 	||
+				str.indexOf("<usemap ") 	> -1 	||
+				str.indexOf("<link ") 		> -1 	||
+				str.indexOf("<input ") 		> -1 	||
+				str.indexOf("<source ") 	> -1 	||
+				str.indexOf("<q ") 			> -1
+			) str = anchorme.dontbreakHTML(str);
+		}
+		
+		/**
+		 * 
+		 * Since anchorme.js runs by seperating words by spaces,
+		 * we have to take in consideration if there were other
+		 * charecters seperating the URL from other words,
+		 * such as: line breaks, braces and angle brackets
+		 * 
+		 **/
+		
+		str = str.split("\n").join(" \n ");
+		str = str.split("(").join(" ( ");
+		str = str.split(")").join(" ) ");
+		str = str.split("<").join(" < ");
+		str = str.split(">").join(" > ");
+		
+		/**
+		 * 
+		 * The "order" method will actually do all the heavy lifting
+		 * and return the end result
+		 * 
+		 **/
+		 
+		var result = anchorme.order(str, options);
+		
+		/**
+		 * 
+		 * After getting the end result, we need to remove
+		 * the extra spaces we added from the result
+		 * 
+		 **/
+		
+		result = result.split(" \n ").join("\n");
+		result = result.split(" ( ").join("(");
+		result = result.split(" ) ").join(")");
+		result = result.split(" < ").join("<");
+		result = result.split(" > ").join(">");
+		
+		// return the result
+		return result;
+	};
+	
+	
+	// check js environment
+	if (typeof exports !== "undefined") {
+		// nodejs env
+		if (typeof module !== "undefined" && module.exports) {
+			exports = module.exports = anchorme;
+		}
+		exports.anchorme = anchorme;
+	}
+	else {
+		// requirejs env (optional)
+		if (typeof define === "function" && define.amd) {
+			define("anchorme", [], function() {
+				return anchorme;
+			});
+		}
+		else {
+			// browser env
+			window.anchorme = anchorme;
+		}
+	}
+
+})(typeof window === 'object' ? window : this /* it runs in node */ );
\ No newline at end of file
diff --git a/layouts/v7/lib/anchorme_js/anchorme.min.js b/layouts/v7/lib/anchorme_js/anchorme.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..42de76135fd94eb1ad9ae1bb2a9bb938d1d11610
--- /dev/null
+++ b/layouts/v7/lib/anchorme_js/anchorme.min.js
@@ -0,0 +1 @@
+!function(e){"use strict";String.prototype.endsWith||(String.prototype.endsWith=function(e,t){var i=this.toString();("number"!=typeof t||!isFinite(t)||Math.floor(t)!==t||t>i.length)&&(t=i.length),t-=e.length;var n=i.indexOf(e,t);return-1!==n&&n===t}),String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e});var t={};t.occurrences=function(e,t,i){if(e+="",t+="",t.length<=0)return e.length+1;for(var n=0,r=0,a=i?1:t.length;;){if(r=e.indexOf(t,r),!(r>=0))break;n++,r+=a}return n},t.dontbreakHTML=function(e){for(var t=["src","href","cite","formaction","icon","manifest","poster","codebase","background","profile","usemap"],i=t.length;i--;){var n=[t[i]+'=" ',t[i]+"=' "],r=[t[i]+'="',t[i]+"='"];e=e.split(n[0]).join(r[0]),e=e.split(n[1]).join(r[1])}return e},t.removeCharifItEndsWithIt=function(e,i){return e.endsWith(i)?(e=e.substring(0,e.length-1),t.removeCharifItEndsWithIt(e,i)):e},t.TLDs=[".com",".org",".edu",".gov",".uk",".net",".ca",".de",".jp",".fr",".au",".us",".ru",".ch",".it",".nl",".se",".no",".es",".io",".aero",".mil",".biz",".cat",".coop",".info",".jobs",".mobi",".museum",".name",".pro",".travel",".ac",".ad",".ae",".af",".ag",".ai",".al",".am",".an",".ao",".ap",".aq",".ar",".as",".at",".aw",".az",".ax",".ba",".bb",".bd",".be",".bf",".bg",".bh",".bi",".bj",".bm",".bn",".bo",".br",".bs",".bt",".bv",".bw",".by",".bz",".cc",".cd",".cf",".cg",".ci",".ck",".cl",".cm",".cn",".co",".cr",".cs",".cu",".cv",".cx",".cy",".cz",".dj",".dk",".dm",".do",".dz",".ec",".ee",".eg",".eh",".er",".et",".eu",".fi",".fj",".fk",".fm",".fo",".ga",".gb",".gd",".ge",".gf",".gg",".gh",".gi",".gl",".gm",".gn",".gp",".gq",".gr",".gs",".gt",".gu",".gw",".gy",".hk",".hm",".hn",".hr",".ht",".hu",".id",".ie",".il",".im",".in",".io",".iq",".ir",".is",".je",".jm",".jo",".ke",".kg",".kh",".ki",".km",".kn",".kp",".kr",".kw",".ky",".kz",".la",".lb",".lc",".li",".lk",".lr",".ls",".lt",".lu",".lv",".ly",".ma",".mc",".md",".mg",".mh",".mk",".ml",".mm",".mn",".mo",".mp",".mq",".mr",".ms",".mt",".mu",".mv",".mw",".mx",".my",".mz",".na",".nc",".ne",".nf",".ng",".ni",".np",".nr",".nu",".nz",".om",".pa",".pe",".pf",".pg",".ph",".pk",".pl",".pm",".pn",".pr",".ps",".pt",".pw",".py",".qa",".re",".ro",".rw",".sa",".sb",".sc",".sd",".sg",".sh",".si",".sj",".sk",".sl",".sm",".sn",".so",".sr",".st",".sv",".sy",".sz",".tc",".td",".tf",".tg",".th",".tj",".tk",".tl",".tm",".tn",".to",".tp",".tr",".tt",".tv",".tw",".tz",".ua",".ug",".um",".uy",".uz",".va",".vc",".ve",".vg",".vi",".vn",".vu",".wf",".ws",".ye",".yt",".yu",".za",".zm",".zw",".guru",".berlin",".photography",".tips",".today",".email",".technology",".company",".clothing",".me",".asia",".abb",".academy",".active",".actor",".ads",".adult",".afl",".agency",".aig",".airforce",".alsace",".amsterdam",".android",".apartments",".app",".aquarelle",".archi",".army",".associates",".attorney",".auction",".audio",".auto",".autos",".axa",".azure",".band",".bank",".bar",".barcelona",".barclays",".bargains",".bauhaus",".bayern",".bbc",".bbva",".bcn",".beer",".bentley",".best",".bharti",".bible",".bid",".bike",".bing",".bingo",".bio",".black",".blackfriday",".bloomberg",".blue",".bmw",".bnl",".bnpparibas",".boats",".bond",".boo",".boutique",".bradesco",".bridgestone",".broker",".brother",".brussels",".budapest",".build",".builders",".business",".buzz",".bzh",".cab",".cafe",".cal",".camera",".camp",".canon",".capetown",".capital",".caravan",".cards",".care",".career",".careers",".cars",".cartier",".casa",".cash",".casino",".catering",".cba",".cbn",".center",".ceo",".cern",".cfa",".cfd",".channel",".chat",".cheap",".chloe",".christmas",".chrome",".church",".cisco",".citic",".city",".claims",".cleaning",".click",".clinic",".cloud",".club",".coach",".codes",".coffee",".college",".cologne",".community",".computer",".condos",".construction",".consulting",".contractors",".cooking",".cool",".corsica",".country",".coupons",".courses",".credit",".creditcard",".cricket",".crown",".crs",".cruises",".cuisinella",".cw",".cymru",".cyou",".dabur",".dad",".dance",".date",".dating",".datsun",".day",".dclk",".deals",".degree",".delivery",".delta",".democrat",".dental",".dentist",".desi",".design",".dev",".diamonds",".diet",".digital",".direct",".directory",".discount",".dnp",".docs",".dog",".doha",".domains",".doosan",".download",".drive",".durban",".dvag",".earth",".eat",".education",".emerck",".energy",".engineer",".engineering",".enterprises",".epson",".equipment",".erni",".esq",".estate",".eus",".events",".everbank",".exchange",".expert",".exposed",".express",".fail",".faith",".fan",".fans",".farm",".fashion",".feedback",".film",".finance",".financial",".firmdale",".fish",".fishing",".fit",".fitness",".flights",".florist",".flowers",".flsmidth",".fly",".foo",".football",".forex",".forsale",".forum",".foundation",".frl",".frogans",".fund",".furniture",".futbol",".fyi",".gal",".gallery",".game",".garden",".gbiz",".gdn",".gent",".genting",".ggee",".gift",".gifts",".gives",".glass",".gle",".global",".globo",".gmail",".gmo",".gmx",".gold",".goldpoint",".golf",".goo",".goog",".google",".gop",".graphics",".gratis",".green",".gripe",".guge",".guide",".guitars",".hamburg",".hangout",".haus",".healthcare",".help",".here",".hermes",".hiphop",".hitachi",".hiv",".hockey",".holdings",".holiday",".homedepot",".homes",".honda",".horse",".host",".hosting",".hoteles",".hotmail",".house",".how",".hsbc",".ibm",".icbc",".icu",".ifm",".iinet",".immo",".immobilien",".industries",".infiniti",".ing",".ink",".institute",".insure",".int",".international",".investments",".irish",".ist",".istanbul",".iwc",".java",".jcb",".jetzt",".jewelry",".jlc",".jll",".joburg",".jprs",".juegos",".kaufen",".kddi",".kim",".kitchen",".kiwi",".koeln",".komatsu",".krd",".kred",".kyoto",".lacaixa",".land",".lasalle",".lat",".latrobe",".law",".lawyer",".lds",".lease",".leclerc",".legal",".lgbt",".liaison",".lidl",".life",".lighting",".limited",".limo",".link",".live",".loan",".loans",".lol",".london",".lotte",".lotto",".love",".ltda",".lupin",".luxe",".luxury",".madrid",".maif",".maison",".management",".mango",".market",".marketing",".markets",".marriott",".mba",".media",".meet",".melbourne",".meme",".memorial",".men",".menu",".miami",".microsoft",".mini",".mma",".moda",".moe",".monash",".money",".montblanc",".mormon",".mortgage",".moscow",".motorcycles",".mov",".movie",".movistar",".mtn",".mtpc",".nadex",".nagoya",".navy",".nec",".netbank",".network",".neustar",".new",".news",".nexus",".ngo",".nhk",".nico",".ninja",".nissan",".nra",".nrw",".ntt",".nyc",".office",".okinawa",".omega",".one",".ong",".onl",".online",".ooo",".oracle",".orange",".organic",".osaka",".otsuka",".ovh",".page",".panerai",".paris",".partners",".parts",".party",".pharmacy",".philips",".photo",".photos",".physio",".piaget",".pics",".pictet",".pictures",".pink",".pizza",".place",".play",".plumbing",".plus",".pohl",".poker",".porn",".post",".praxi",".press",".prod",".productions",".prof",".properties",".property",".pub",".qpon",".quebec",".racing",".realtor",".realty",".recipes",".red",".redstone",".rehab",".reise",".reisen",".reit",".ren",".rent",".rentals",".repair",".report",".republican",".rest",".restaurant",".review",".reviews",".rich",".ricoh",".rio",".rip",".rocks",".rodeo",".rs",".rsvp",".ruhr",".run",".ryukyu",".saarland",".sakura",".sale",".samsung",".sandvik",".sap",".sarl",".saxo",".sca",".scb",".school",".schule",".schwarz",".science",".seat",".sener",".services",".sew",".sex",".sexy",".shiksha",".shoes",".show",".shriram",".singles",".site",".ski",".sky",".skype",".sncf",".soccer",".social",".software",".sohu",".solar",".solutions",".sony",".soy",".space",".spiegel",".spreadbetting",".starhub",".statoil",".studio",".study",".style",".su",".sucks",".supplies",".supply",".support",".surf",".surgery",".suzuki",".swatch",".swiss",".sx",".sydney",".systems",".taipei",".tatar",".tattoo",".tax",".taxi",".team",".tech",".tel",".telefonica",".temasek",".tennis",".thd",".theater",".tickets",".tienda",".tires",".tirol",".tokyo",".tools",".top",".toray",".toshiba",".tours",".town",".toys",".trade",".trading",".training",".trust",".tui",".ubs",".university",".uno",".uol",".vacations",".vegas",".ventures",".versicherung",".vet",".viajes",".video",".villas",".vision",".vista",".vistaprint",".vlaanderen",".vodka",".vote",".voting",".voto",".voyage",".wales",".walter",".wang",".watch",".webcam",".website",".wed",".wedding",".weir",".wien",".wiki",".win",".windows",".wme",".work",".works",".world",".wtc",".wtf",".xbox",".xerox",".xin",".xxx",".xyz",".yandex",".youtube",".zip",".zone",".zuerich"],t.checks={},t.checks.ip=function(e){if(t.occurrences(e,".")>2){var i=e.split("."),n=i[0],r=i[1],a=i[2];if(i[3].indexOf(":")>0)var s=i[3].indexOf(":"),o=i[3].substring(0,s),l=i[3].substring(s);else if(i[3].indexOf("/")>0)var c=i[3].indexOf("/"),o=i[3].substring(0,c),l=i[3].substring(c);else var o=i[3],l=!1;return(l===!1||"/"===l.charAt(0)||":"===l.charAt(0))&&!isNaN(n)&&!isNaN(r)&&!isNaN(a)&&!isNaN(o)&&254>=n-1&&254>=r-1&&254>=a-1&&254>=o-1&&n.length>0&&r.length>0&&a.length>0&&o.length>0?!0:!1}return!1},t.checks.email=function(e,i){if(e=e.toLowerCase(),1==t.occurrences(e,"@")){e=t.removeCharifItEndsWithIt(e,"."),e=t.removeCharifItEndsWithIt(e,","),e=t.removeCharifItEndsWithIt(e,";");for(var n=e.indexOf("@"),r=e.substring(0,n),a=e.substring(n+1,e.length),s=!0,o=0;o<r.length;o++){var l=r[o];-1==="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%&'*+-/=?^_`{|}~.".indexOf(l)&&(o=r.length,s=!1)}for(var o=0;o<a.length;o++){var c=a[o];-1==="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-.:".indexOf(c)&&(o=a.length,s=!1)}if(s){for(var d=!1,o=0;i>o;o++){var u=t.TLDs[o];e.endsWith(u)&&(o=t.TLDs.length,d=!0)}return d===!0?!0:!1}return!1}return!1},t.checks.url=function(e,i){if(e=e.toLowerCase(),e.indexOf(".")>0&&(e.indexOf("/")>3||e.indexOf("/")<0)){if(e=t.removeCharifItEndsWithIt(e,"."),e=t.removeCharifItEndsWithIt(e,","),e=t.removeCharifItEndsWithIt(e,";"),1==t.occurrences(e,".")&&e.indexOf(".")===e.length-1)return!1;var n=!0;if(e.indexOf("/")>3){var r=e.indexOf("/"),a=e.substring(0,r);if(a.indexOf("..")>-1)return!1;for(var s=0;s<a.length;s++){var o=a[s];-1==="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-.:".indexOf(o)&&(s=a.length,n=!1)}}else{if(e.indexOf("..")>-1)return!1;for(var s=0;s<e.length;s++){var o=e[s];-1==="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-.:".indexOf(o)&&(s=e.length,n=!1)}}if(n){if(e.endsWith(".com"))return!0;for(var s=0;i>s;s++){var l=t.TLDs[s];if(e.endsWith(l)||e.indexOf(l+"/")>-1||e.indexOf(l+":")>-1)return s=t.TLDs.length,!0}return!1}return!1}return!1},t.order=function(e,i){for(var n=e.split(" "),r=0;r<n.length;r++){var a=n[r],s=!1,o=!1;if(a.indexOf(".")>-1){for(var l=!0,c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=%",d=0;d<a.length;d++){var u=a[d];-1===c.indexOf(u)&&(d=a.length,l=!1)}if(l&&(i.urls&&(a.startsWith("http://")||a.startsWith("HTTP://"))?s=!0:i.urls&&(a.startsWith("https://")||a.startsWith("HTTPS://"))?s=!0:i.urls&&(a.startsWith("ftp://")||a.startsWith("FTP://"))?s=!0:i.urls&&(a.startsWith("file:///")||a.startsWith("FILE:///"))?s=!0:i.emails&&(a.startsWith("mailto:")||a.startsWith("MAILTO:"))?s=!0:t.checks.ip(a)&&i.ips&&a.indexOf(".")>0?(s=!0,o=i.defaultProtocol):t.checks.email(a,i.TLDs)&&i.emails&&a.indexOf(".")>-1&&a.indexOf("@")>-1?(s=!0,o="mailto:"):t.checks.url(a,i.TLDs)&&i.urls&&(s=!0,o=i.defaultProtocol),s)){var f=o?o+a:a;if(f=t.removeCharifItEndsWithIt(f,"."),f=t.removeCharifItEndsWithIt(f,","),f=t.removeCharifItEndsWithIt(f,";"),i.attributes){n[r]="<a href='"+f+"'";for(var h in i.attributes)n[r]=n[r]+" "+h+"='"+i.attributes[h]+"' ";n[r]=n[r]+">"+a+"</a>"}else n[r]="<a href='"+f+"'>"+a+"</a>"}}}return n.join(" ")},t.js=function(e,i){"object"!=typeof i?i={attributes:!1,html:!0,ips:!0,emails:!0,urls:!0,TLDs:20,defaultProtocol:"http://"}:("object"!=typeof i.attributes&&(i.attributes=!1),"boolean"!=typeof i.html&&(i.html=!0),"boolean"!=typeof i.ips&&(i.ips=!0),"boolean"!=typeof i.emails&&(i.emails=!0),"boolean"!=typeof i.urls&&(i.urls=!0),"number"!=typeof i.TLDs&&(i.TLDs=20),"string"!=typeof i.defaultProtocol&&(i.defaultProtocol="http://")),i.html&&(e.indexOf("</a>")>-1||e.indexOf("<img ")>-1||e.indexOf("<blockquote ")>-1||e.indexOf("<del ")>-1||e.indexOf("<iframe ")>-1||e.indexOf("<script  ")>-1||e.indexOf("<audio ")>-1||e.indexOf("<button ")>-1||e.indexOf("<command ")>-1||e.indexOf("<embed ")>-1||e.indexOf("<html ")>-1||e.indexOf("<video ")>-1||e.indexOf("<applet ")>-1||e.indexOf("<area ")>-1||e.indexOf("<base ")>-1||e.indexOf("<body ")>-1||e.indexOf("<frame ")>-1||e.indexOf("<head ")>-1||e.indexOf("<usemap ")>-1||e.indexOf("<link ")>-1||e.indexOf("<input ")>-1||e.indexOf("<source ")>-1||e.indexOf("<q ")>-1)&&(e=t.dontbreakHTML(e)),e=e.split("\n").join(" \n "),e=e.split("(").join(" ( "),e=e.split(")").join(" ) "),e=e.split("<").join(" < "),e=e.split(">").join(" > ");var n=t.order(e,i);return n=n.split(" \n ").join("\n"),n=n.split(" ( ").join("("),n=n.split(" ) ").join(")"),n=n.split(" < ").join("<"),n=n.split(" > ").join(">")},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=t),exports.anchorme=t):"function"==typeof define&&define.amd?define("anchorme",[],function(){return t}):e.anchorme=t}("object"==typeof window?window:this);
\ No newline at end of file
diff --git a/layouts/v7/modules/Calendar/AddActivityType.tpl b/layouts/v7/modules/Calendar/AddActivityType.tpl
index ab6d08fd19078c43ee25882f9eeef51b0fc3d822..474be3f21975c049ced88bab8bdb38bd11186964 100644
--- a/layouts/v7/modules/Calendar/AddActivityType.tpl
+++ b/layouts/v7/modules/Calendar/AddActivityType.tpl
@@ -8,7 +8,7 @@
  ************************************************************************************}
 {* modules/Calendar/views/ActivityTypeViews.php *}
 {strip}
-<div class="modal-dialog modelContainer">
+<div class="modal-dialog modelContainer modal-content">
     {assign var=HEADER_TITLE value={vtranslate('LBL_ADD_CALENDAR_VIEW', $MODULE)}}
     {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
     <div class="modal-body">
diff --git a/layouts/v7/modules/Calendar/AddUserCalendar.tpl b/layouts/v7/modules/Calendar/AddUserCalendar.tpl
index 27c18c27a2cd1f691d30b29dc0d67112daa0fb91..9c30c15e31789af4362d6f1a4b91a532c452c9ac 100644
--- a/layouts/v7/modules/Calendar/AddUserCalendar.tpl
+++ b/layouts/v7/modules/Calendar/AddUserCalendar.tpl
@@ -10,7 +10,7 @@
 {strip}
 {assign var=SHARED_USER_INFO value= Zend_Json::encode($SHAREDUSERS_INFO)}
 {assign var=CURRENT_USER_ID value= $CURRENTUSER_MODEL->getId()}
-<div class="modal-dialog modelContainer">
+<div class="modal-dialog modelContainer modal-content">
     {assign var=HEADER_TITLE value={vtranslate('LBL_EDITING_CALENDAR_VIEW', $MODULE)}}
     {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
     <div class="modal-body">
diff --git a/layouts/v7/modules/Calendar/EditActivityType.tpl b/layouts/v7/modules/Calendar/EditActivityType.tpl
index b9a1fd5da87daa12c03bb8deed8eee9b79dc3f49..c7c6443f22a5b01f98d6befd8eaaadc76f97b53b 100644
--- a/layouts/v7/modules/Calendar/EditActivityType.tpl
+++ b/layouts/v7/modules/Calendar/EditActivityType.tpl
@@ -8,7 +8,7 @@
  ************************************************************************************}
 {* modules/Calendar/views/ActivityTypeViews.php *}
 {strip}
-<div class="modal-dialog modelContainer">
+<div class="modal-dialog modelContainer modal-content">
     {assign var=HEADER_TITLE value={vtranslate('LBL_EDITING_CALENDAR_VIEW', $MODULE)}}
     {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
     <div class="modal-body">
diff --git a/layouts/v7/modules/Calendar/EditUserCalendar.tpl b/layouts/v7/modules/Calendar/EditUserCalendar.tpl
index 76a5df79d69aa0ab8fc364fa461f35d8dfd3be16..3b081e2794407ecd51c9394a16d781aa84d8fa29 100644
--- a/layouts/v7/modules/Calendar/EditUserCalendar.tpl
+++ b/layouts/v7/modules/Calendar/EditUserCalendar.tpl
@@ -10,7 +10,7 @@
 {strip}
 {assign var=SHARED_USER_INFO value= Zend_Json::encode($SHAREDUSERS_INFO)}
 {assign var=CURRENT_USER_ID value= $CURRENTUSER_MODEL->getId()}
-<div class="modal-dialog modelContainer">
+<div class="modal-dialog modelContainer modal-content">
     {assign var=HEADER_TITLE value={vtranslate('LBL_EDITING_CALENDAR_VIEW', $MODULE)}}
     {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
     <div class="modal-body">
diff --git a/layouts/v7/modules/Calendar/QuickCreate.tpl b/layouts/v7/modules/Calendar/QuickCreate.tpl
index 5d8abed257f86b36dcd5d2fcbf1141cf0720c22b..824a7b713ecb071e030ad7c33d41e88a9aa4ced0 100644
--- a/layouts/v7/modules/Calendar/QuickCreate.tpl
+++ b/layouts/v7/modules/Calendar/QuickCreate.tpl
@@ -144,7 +144,7 @@
 						{if $MODULE eq 'Events'}
 							{assign var="EDIT_VIEW_URL" value=$CALENDAR_MODULE_MODEL->getCreateEventRecordUrl()}
 						{/if}
-						<button class="btn" id="goToFullForm" data-edit-view-url="{$EDIT_VIEW_URL}" type="button"><strong>{vtranslate('LBL_GO_TO_FULL_FORM', $MODULE)}</strong></button>
+						<button class="btn btn-default" id="goToFullForm" data-edit-view-url="{$EDIT_VIEW_URL}" type="button"><strong>{vtranslate('LBL_GO_TO_FULL_FORM', $MODULE)}</strong></button>
 						<button {if $BUTTON_ID neq null} id="{$BUTTON_ID}" {/if} class="btn btn-success" type="submit" name="saveButton"><strong>{$BUTTON_LABEL}</strong></button>
 						<a href="#" class="cancelLink" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
 					</center>
diff --git a/layouts/v7/modules/Calendar/QuickCreateFollowup.tpl b/layouts/v7/modules/Calendar/QuickCreateFollowup.tpl
index 6668be4b952707b4c844428306ba3813876408e6..721a1bb6173d1af368c83694abd195fe4752e5c1 100644
--- a/layouts/v7/modules/Calendar/QuickCreateFollowup.tpl
+++ b/layouts/v7/modules/Calendar/QuickCreateFollowup.tpl
@@ -8,7 +8,7 @@
  ************************************************************************************}
 {* modules/Calendar/views/QuickCreateFollowupAjax.php *}
 {strip}
-<div class="modal-dialog modelContainer">
+<div class="modal-dialog modelContainer modal-content">
 	{assign var=HEADER_TITLE value={vtranslate('LBL_CREATE_FOLLOWUP_EVENT', "Events")}}
 	{include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
 	<form class="form-horizontal followupCreateView" id="followupQuickCreate" name="followupQuickCreate" method="post" action="index.php">
diff --git a/layouts/v7/modules/Calendar/RecurringDeleteView.tpl b/layouts/v7/modules/Calendar/RecurringDeleteView.tpl
index af9c10d134a8b065401a5b06fd941fbe4501ad9c..d65a4fc3fbac9aefa74ac26d70fc34beb2ab7c0e 100644
--- a/layouts/v7/modules/Calendar/RecurringDeleteView.tpl
+++ b/layouts/v7/modules/Calendar/RecurringDeleteView.tpl
@@ -11,7 +11,7 @@
 {strip}
 <!--Confirmation modal for updating Recurring Events-->
 {assign var=MODULE value="Calendar"}
-<div class="modal-dialog modelContainer" style='min-width:350px;'>
+<div class="modal-dialog modelContainer modal-content" style='min-width:350px;'>
     {assign var=HEADER_TITLE value={vtranslate('LBL_DELETE_RECURRING_EVENT', $MODULE)}}
     {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
     <div class="modal-body">
@@ -20,7 +20,7 @@
             <div class="row" style="padding: 1%;">
                 <span class="col-sm-12">
                     <span class="col-sm-4">
-                        <button class="btn onlyThisEvent" style="width : 150px"><strong>{vtranslate('LBL_ONLY_THIS_EVENT', $MODULE)}</strong></button>
+                        <button class="btn btn-default onlyThisEvent" style="width : 150px">{vtranslate('LBL_ONLY_THIS_EVENT', $MODULE)}</button>
                     </span>
                     <span class="col-sm-8">{vtranslate('LBL_ONLY_THIS_EVENT_DELETE_INFO', $MODULE)}</span>
                 </span>
@@ -28,7 +28,7 @@
             <div class="row" style="padding: 1%;">
                 <span class="col-sm-12">
                     <span class="col-sm-4">
-                        <button class="btn futureEvents" style="width : 150px"><strong>{vtranslate('LBL_FUTURE_EVENTS', $MODULE)}</strong></button>
+                        <button class="btn btn-default futureEvents" style="width : 150px">{vtranslate('LBL_FUTURE_EVENTS', $MODULE)}</button>
                     </span>
                     <span class="col-sm-8">{vtranslate('LBL_FUTURE_EVENTS_DELETE_INFO', $MODULE)}</span>
                 </span>
@@ -36,7 +36,7 @@
             <div class="row" style="padding: 1%;">
                 <span class="col-sm-12">
                     <span class="col-sm-4">
-                        <button class="btn allEvents" style="width : 150px"><strong>{vtranslate('LBL_ALL_EVENTS', $MODULE)}</strong></button>
+                        <button class="btn btn-default allEvents" style="width : 150px">{vtranslate('LBL_ALL_EVENTS', $MODULE)}</button>
                     </span>
                     <span class="col-sm-8">{vtranslate('LBL_ALL_EVENTS_DELETE_INFO', $MODULE)}</span>
                 </span>
diff --git a/layouts/v7/modules/Calendar/partials/Menubar.tpl b/layouts/v7/modules/Calendar/partials/Menubar.tpl
index 60d85ee3db49e27986c6af798854810a5e68e55d..a6d32b25eb3268fb72ab51c0eae8bc0eb3c5e644 100644
--- a/layouts/v7/modules/Calendar/partials/Menubar.tpl
+++ b/layouts/v7/modules/Calendar/partials/Menubar.tpl
@@ -1,3 +1,12 @@
+{*+**********************************************************************************
+* The contents of this file are subject to the vtiger CRM Public License Version 1.1
+* ("License"); You may not use this file except in compliance with the License
+* The Original Code is: vtiger CRM Open Source
+* The Initial Developer of the Original Code is vtiger.
+* Portions created by vtiger are Copyright (C) vtiger.
+* All Rights Reserved.
+*************************************************************************************}
+
 {assign var="topMenus" value=$MENU_STRUCTURE->getTop()}
 {assign var="moreMenus" value=$MENU_STRUCTURE->getMore()}
 
diff --git a/layouts/v7/modules/Events/partials/EditViewContents.tpl b/layouts/v7/modules/Events/partials/EditViewContents.tpl
index c514ea42fb8f49bcba069d8bb18ce1d205263dd3..5430b9643a127db2ce1114ed0559e0d07670135f 100644
--- a/layouts/v7/modules/Events/partials/EditViewContents.tpl
+++ b/layouts/v7/modules/Events/partials/EditViewContents.tpl
@@ -36,7 +36,7 @@
 			<input type="hidden" name="recurringEditMode" value="" />
 			<!--Confirmation modal for updating Recurring Events-->
 			{assign var=MODULE value="Calendar"}
-			<div class="modal-dialog modelContainer recurringEventsUpdation hide" style='min-width:350px;'>
+			<div class="modal-dialog modelContainer recurringEventsUpdation modal-content hide" style='min-width:350px;'>
 				{assign var=HEADER_TITLE value={vtranslate('LBL_EDIT_RECURRING_EVENT', $MODULE)}}
 				{include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
 				<div class="modal-body">
@@ -45,7 +45,7 @@
 						<div class="row" style="padding: 1%;">
 							<span class="col-sm-12">
 								<span class="col-sm-4">
-									<button class="btn onlyThisEvent" style="width : 150px"><strong>{vtranslate('LBL_ONLY_THIS_EVENT', $MODULE)}</strong></button>
+									<button class="btn btn-default onlyThisEvent" style="width : 150px">{vtranslate('LBL_ONLY_THIS_EVENT', $MODULE)}</button>
 								</span>
 								<span class="col-sm-8">{vtranslate('LBL_ONLY_THIS_EVENT_EDIT_INFO', $MODULE)}</span>
 							</span>
@@ -53,7 +53,7 @@
 						<div class="row" style="padding: 1%;">
 							<span class="col-sm-12">
 								<span class="col-sm-4">
-									<button class="btn futureEvents" style="width : 150px"><strong>{vtranslate('LBL_FUTURE_EVENTS', $MODULE)}</strong></button>
+									<button class="btn btn-default futureEvents" style="width : 150px">{vtranslate('LBL_FUTURE_EVENTS', $MODULE)}</button>
 								</span>
 								<span class="col-sm-8">{vtranslate('LBL_FUTURE_EVENTS_EDIT_INFO', $MODULE)}</span>
 							</span>
@@ -61,7 +61,7 @@
 						<div class="row" style="padding: 1%;">
 							<span class="col-sm-12">
 								<span class="col-sm-4">
-									<button class="btn allEvents" style="width : 150px"><strong>{vtranslate('LBL_ALL_EVENTS', $MODULE)}</strong></button>
+									<button class="btn btn-default allEvents" style="width : 150px">{vtranslate('LBL_ALL_EVENTS', $MODULE)}</button>
 								</span>
 								<span class="col-sm-8">{vtranslate('LBL_ALL_EVENTS_EDIT_INFO', $MODULE)}</span>
 							</span>
diff --git a/layouts/v7/modules/PriceBooks/ListPriceUpdate.tpl b/layouts/v7/modules/PriceBooks/ListPriceUpdate.tpl
index e2bea6fcae44083ebdd3b55136e85821667dcf81..9801ff379cdda441e8c2654023badc0e80c51ef1 100644
--- a/layouts/v7/modules/PriceBooks/ListPriceUpdate.tpl
+++ b/layouts/v7/modules/PriceBooks/ListPriceUpdate.tpl
@@ -10,24 +10,25 @@
 
 {* START YOUR IMPLEMENTATION FROM BELOW. Use {debug} for information *}
 {strip}
-    <div class="modal-dialog modelContainer modal-md" id="listPriceUpdateContainer">
+    <div class="modal-dialog modelContainer modal-content modal-md" id="listPriceUpdateContainer">
         {assign var=HEADER_TITLE value={vtranslate('LBL_EDIT_LIST_PRICE', $MODULE)}}
         {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
-        <div class="modal-body">
-            <form class="form-horizontal" id="listPriceUpdate" method="post" action="index.php">
+		<form class="form-horizontal" id="listPriceUpdate" method="post" action="index.php">
+			<div class="modal-body">
                 <input type="hidden" name="module" value="{$MODULE}" />
                 <input type="hidden" name="action" value="RelationAjax" />
                 <input type="hidden" name="src_record" value="{$PRICEBOOK_ID}" />
                 <input type="hidden" name="relid" value="{$REL_ID}" />
                 <div class="form-group">
-                    <label class="col-sm-4 control-label">{vtranslate('LBL_EDIT_LIST_PRICE',$MODULE)} &nbsp <span class="redColor">*</span> &nbsp; </label>
+                    <label class="col-sm-4 control-label">{vtranslate('LBL_EDIT_LIST_PRICE',$MODULE)} <span class="redColor">*</span>&nbsp;</label>
                     <div class="controls col-sm-4">
                         <input type="text" name="currentPrice" value="{$CURRENT_PRICE}" data-rule-required="true" class="inputElement" data-rule-currency="true"
                                data-decimal-separator='{$USER_MODEL->get('currency_decimal_separator')}' data-group-separator='{$USER_MODEL->get('currency_grouping_separator')}' />
                     </div>
                 </div>
-                {include file="ModalFooter.tpl"|vtemplate_path:$MODULE}
-            </form>
+			</div>
+			{include file="ModalFooter.tpl"|vtemplate_path:$MODULE}
+		</form>
         </div>
     </div>
 {/strip}
\ No newline at end of file
diff --git a/layouts/v7/modules/PriceBooks/RelatedList.tpl b/layouts/v7/modules/PriceBooks/RelatedList.tpl
index 9bc4472033031ad5e440f4cfefa896eb3055d850..ccd5375e7a4cc72a28471c4cb34994c84782d916 100644
--- a/layouts/v7/modules/PriceBooks/RelatedList.tpl
+++ b/layouts/v7/modules/PriceBooks/RelatedList.tpl
@@ -8,170 +8,134 @@
 ************************************************************************************}
 {* modules/PriceBooks/views/Detail.php *}
 
-{* START YOUR IMPLEMENTATION FROM BELOW. Use {debug} for information *}
-{*<!--
-/*********************************************************************************
-** The contents of this file are subject to the vtiger CRM Public License Version 1.0
-* ("License"); You may not use this file except in compliance with the License
-* The Original Code is: vtiger CRM Open Source
-* The Initial Developer of the Original Code is vtiger.
-* Portions created by vtiger are Copyright (C) vtiger.
-* All Rights Reserved.
-*
-********************************************************************************/
--->*}
 {strip}
-    {if $RELATED_MODULE->get('name') neq 'Products' && $RELATED_MODULE->get('name') neq 'Services'}
-        {include file='RelatedList.tpl'|vtemplate_path:'Vtiger'}
-    {else}
-        <div class="relatedContainer">
-            <input type="hidden" name="currentPageNum" value="{$PAGING->getCurrentPage()}" />
-            <input type="hidden" name="relatedModuleName" class="relatedModuleName" value="{$RELATED_MODULE->get('name')}" />
-            <input type="hidden" value="{$ORDER_BY}" id="orderBy">
-            <input type="hidden" value="{$SORT_ORDER}" id="sortOrder">
-            <input type="hidden" value="{$RELATED_ENTIRES_COUNT}" id="noOfEntries">
-            <input type='hidden' value="{$PAGING->getPageLimit()}" id='pageLimit'>
-            <input type='hidden' value="{$TOTAL_ENTRIES}" id='totalCount'>
-            <input type='hidden' value="{$TAB_LABEL}" id='tab_label' name='tab_label'>
+	{if $RELATED_MODULE->get('name') neq 'Products' && $RELATED_MODULE->get('name') neq 'Services'}
+		{include file='RelatedList.tpl'|vtemplate_path:'Vtiger'}
+	{else}
+		<div class="relatedContainer">
+			<input type="hidden" name="currentPageNum" value="{$PAGING->getCurrentPage()}" />
+			<input type="hidden" name="relatedModuleName" class="relatedModuleName" value="{$RELATED_MODULE->get('name')}" />
+			<input type="hidden" value="{$ORDER_BY}" id="orderBy">
+			<input type="hidden" value="{$SORT_ORDER}" id="sortOrder">
+			<input type="hidden" value="{$RELATED_ENTIRES_COUNT}" id="noOfEntries">
+			<input type='hidden' value="{$PAGING->getPageLimit()}" id='pageLimit'>
+			<input type='hidden' value="{$TOTAL_ENTRIES}" id='totalCount'>
+			<input type='hidden' value="{$TAB_LABEL}" id='tab_label' name='tab_label'>
 
-            <div class="relatedHeader">
-                <div class="btn-toolbar row">
-                    <div class="col-lg-6 col-md-6 col-sm-6 btn-toolbar">
-                        {foreach item=RELATED_LINK from=$RELATED_LIST_LINKS['LISTVIEWBASIC']}
-                            <div class="btn-group">
-                                {assign var=IS_SELECT_BUTTON value={$RELATED_LINK->get('_selectRelation')}}
-                                <button type="button" class="btn
-                                {if $IS_SELECT_BUTTON eq true} selectRelation {/if} "
-                                {if $IS_SELECT_BUTTON eq true} data-moduleName={$RELATED_LINK->get('_module')->get('name')} {/if}
-                                {if $RELATED_LINK->isPageLoadLink()}onclick="window.location.href='{$RELATED_LINK->getUrl()}'"{/if}
-                                >{if $IS_SELECT_BUTTON eq false}<i class="icon-plus"></i>{/if}&nbsp;<strong>{$RELATED_LINK->getLabel()}</strong></button>
-                            </div>
-                        {/foreach}
-                        &nbsp;
-                    </div>
-                    {assign var=CLASS_VIEW_ACTION value='relatedViewActions'}
-                    {assign var=CLASS_VIEW_PAGING_INPUT value='relatedViewPagingInput'}
-                    {assign var=CLASS_VIEW_PAGING_INPUT_SUBMIT value='relatedViewPagingInputSubmit'}
-                    {assign var=CLASS_VIEW_BASIC_ACTION value='relatedViewBasicAction'}
-                    {assign var=PAGING_MODEL value=$PAGING}
-                    {assign var=RECORD_COUNT value=$RELATED_RECORDS|@count}
-                    {assign var=PAGE_NUMBER value=$PAGING->get('page')}
-                    {include file="Pagination.tpl"|vtemplate_path:$MODULE SHOWPAGEJUMP=true}
-                </div>
-            </div>
-            <div class="relatedContents col-lg-12 col-md-12 col-sm-12 table-container">
-                <div class="bottomscroll-div">
-                    {assign var=WIDTHTYPE value=$USER_MODEL->get('rowheight')}
-                    <table id="listview-table"  class="table listview-table">
-                        <thead>
-                            <tr class="listViewHeaders">
-                                <th style="min-width:100px">
-                                </th>
-                                {foreach item=HEADER_FIELD from=$RELATED_HEADERS}
-                                    <th nowrap {if $HEADER_FIELD@last} {/if}>
-                                        <a href="javascript:void(0);" class="listViewContentHeaderValues" data-nextsortorderval="{if $COLUMN_NAME eq $HEADER_FIELD->get('name')}{$NEXT_SORT_ORDER}{else}ASC{/if}" data-fieldname="{$HEADER_FIELD->get('name')}">{vtranslate($HEADER_FIELD->get('label'), $RELATED_MODULE->get('name'))}
-                                            {if $COLUMN_NAME eq $HEADER_FIELD->get('column')}
-                                                <i class="fa fa-sort {$FASORT_IMAGE}"></i>
-                                            {else}
-                                                <i class="fa fa-sort customsort"></i>
-                                            {/if}
-                                            &nbsp;{if $COLUMN_NAME eq $HEADER_FIELD->get('name')}<img class="{$SORT_IMAGE}">{/if}&nbsp;
-                                        </a>
-                                        {if $COLUMN_NAME eq $HEADER_FIELD->get('column')}
-                                            <a href="#" class="removeSorting"><i class="fa fa-remove"></i></a>
-                                        {/if}
-                                    </th>
-                                {/foreach}
-                            </tr>
-                            <tr class="searchRow">
-                                <th class="inline-search-btn">
-                                    <button class="btn btn-success btn-sm" data-trigger="relatedListSearch">{vtranslate("LBL_SEARCH",$MODULE)}</button>
-                                </th>
-                                {foreach item=HEADER_FIELD from=$RELATED_HEADERS}
-                                    <th>
-                                        {if $HEADER_FIELD->get('column') eq 'time_start' or $HEADER_FIELD->get('column') eq 'time_end' or $HEADER_FIELD->getFieldDataType() eq 'reference'}
-                                        {else}    
-                                            {assign var=FIELD_UI_TYPE_MODEL value=$HEADER_FIELD->getUITypeModel()}
-                                            {include file=vtemplate_path($FIELD_UI_TYPE_MODEL->getListSearchTemplateName(),$RELATED_MODULE_NAME)
-                                            FIELD_MODEL= $HEADER_FIELD SEARCH_INFO=$SEARCH_DETAILS[$HEADER_FIELD->getName()] USER_MODEL=$USER_MODEL}
-                                            <input type="hidden" class="operatorValue" value="{$SEARCH_DETAILS[$HEADER_FIELD->getName()]['comparator']}">
-                                        {/if}
-                                    </th>
-                                {/foreach}
-                            </tr>
-                        </thead>
-                        {foreach item=RELATED_RECORD from=$RELATED_RECORDS}
-                            {assign var=BASE_CURRENCY_DETAILS value=$RELATED_RECORD->getBaseCurrencyDetails()}
-                            <tr class="listViewEntries" data-id='{$RELATED_RECORD->getId()}' data-recordUrl='{$RELATED_RECORD->getDetailViewUrl()}'>
-                                <td style="width:100px">
-                                    <span class="actionImages">
-                                        {if (!empty($RELATED_HEADERS['listprice']) || !empty($RELATED_HEADERS['unit_price']))}
-                                            {if !empty($RELATED_HEADERS['listprice'])}
-                                                {assign var="LISTPRICE" value=$RELATED_RECORD->get('listprice')}
-                                            {/if}
-                                        {/if}
-                                        <a href="javascript:void(0);" data-url="index.php?module=PriceBooks&view=ListPriceUpdate&record={$PARENT_RECORD->getId()}&relid={$RELATED_RECORD->getId()}&currentPrice={$LISTPRICE}"
-                                                       class="editListPrice cursorPointer" data-related-recordid='{$RELATED_RECORD->getId()}' data-list-price={$LISTPRICE}><i title="{vtranslate('LBL_EDIT', $MODULE)}" class="fa fa-pencil"></i></a> &nbsp;&nbsp;
-                                        <a class="relationDelete"><i title="{vtranslate('LBL_UNLINK', $MODULE)}" class="vicon-linkopen"></i></a>
-                                    </span>
-                                </td>
-                                {foreach item=HEADER_FIELD from=$RELATED_HEADERS}
-                                    {assign var=RELATED_HEADERNAME value=$HEADER_FIELD->get('name')}
-                                    <td nowrap class="{$WIDTHTYPE}">
-                                        {if $HEADER_FIELD->get('name') == 'listprice'}
-                                            {assign var="LISTPRICE" value=$RELATED_RECORD->get($HEADER_FIELD->get('name'))}
-                                            {CurrencyField::appendCurrencySymbol($LISTPRICE, $PARENT_RECORD_CURRENCY_SYMBOL)}
-                                        {else if $HEADER_FIELD->isNameField() eq true or $HEADER_FIELD->get('uitype') eq '4'}
-                                            <a href="{$RELATED_RECORD->getDetailViewUrl()}">{$RELATED_RECORD->getDisplayValue($RELATED_HEADERNAME)}</a>
-                                        {elseif $HEADER_FIELD->get('uitype') eq '71' or $HEADER_FIELD->get('uitype') eq '72'}
-                                            {assign var=CURRENCY_SYMBOL value=Vtiger_RelationListView_Model::getCurrencySymbol($RELATED_RECORD->get('id'), $HEADER_FIELD)}
-                                            {assign var=CURRENCY_VALUE value=CurrencyField::convertToUserFormat($RELATED_RECORD->get($RELATED_HEADERNAME))}
-                                            {if $HEADER_FIELD->get('uitype') eq '72'}
-                                                {assign var=CURRENCY_VALUE value=CurrencyField::convertToUserFormat($RELATED_RECORD->get($RELATED_HEADERNAME), null, true)}
-                                            {/if}
-                                            {CurrencyField::appendCurrencySymbol($CURRENCY_VALUE, $CURRENCY_SYMBOL)}
-                                        {else}
-                                            {$RELATED_RECORD->getDisplayValue($RELATED_HEADERNAME)}
-                                        {/if}
-                                        {if $HEADER_FIELD@last}
-                                        </td>
-                                    {/if}
-                                    </td>
-                                {/foreach}
-                            </tr>
-                        {/foreach}
-                    </table>
-                </div>
-            </div>
-            <script type="text/javascript">
-                var related_uimeta = (function() {
-                    var fieldInfo  = {$RELATED_FIELDS_INFO};
-                    return {
-                        field: {
-                            get: function(name, property) {
-                                if(name && property === undefined) {
-                                    return fieldInfo[name];
-                                }
-                                if(name && property) {
-                                    return fieldInfo[name][property]
-                                }
-                            },
-                            isMandatory : function(name){
-                                if(fieldInfo[name]) {
-                                    return fieldInfo[name].mandatory;
-                                }
-                                return false;
-                            },
-                            getType : function(name){
-                                if(fieldInfo[name]) {
-                                    return fieldInfo[name].type
-                                }
-                                return false;
-                            }
-                        },
-                    };
-                })();
-            </script>
-        </div>
-    {/if}
+			{include file="partials/RelatedListHeader.tpl"|vtemplate_path:$RELATED_MODULE_NAME}
+			<div class="relatedContents col-lg-12 col-md-12 col-sm-12 table-container">
+				<div class="bottomscroll-div">
+					{assign var=WIDTHTYPE value=$USER_MODEL->get('rowheight')}
+					<table id="listview-table" class="table listview-table">
+						<thead>
+							<tr class="listViewHeaders">
+								<th style="min-width:100px">
+								</th>
+								{foreach item=HEADER_FIELD from=$RELATED_HEADERS}
+									<th nowrap {if $HEADER_FIELD@last} {/if}>
+										<a href="javascript:void(0);" class="listViewContentHeaderValues" data-nextsortorderval="{if $COLUMN_NAME eq $HEADER_FIELD->get('name')}{$NEXT_SORT_ORDER}{else}ASC{/if}" data-fieldname="{$HEADER_FIELD->get('name')}">{vtranslate($HEADER_FIELD->get('label'), $RELATED_MODULE->get('name'))}
+											{if $COLUMN_NAME eq $HEADER_FIELD->get('column')}
+												<i class="fa fa-sort {$FASORT_IMAGE}"></i>
+											{else}
+												<i class="fa fa-sort customsort"></i>
+											{/if}
+											&nbsp;{if $COLUMN_NAME eq $HEADER_FIELD->get('name')}<img class="{$SORT_IMAGE}">{/if}&nbsp;
+										</a>
+										{if $COLUMN_NAME eq $HEADER_FIELD->get('column')}
+											<a href="#" class="removeSorting"><i class="fa fa-remove"></i></a>
+										{/if}
+									</th>
+								{/foreach}
+							</tr>
+							<tr class="searchRow">
+								<th class="inline-search-btn">
+									<button class="btn btn-success btn-sm" data-trigger="relatedListSearch">{vtranslate("LBL_SEARCH",$MODULE)}</button>
+								</th>
+								{foreach item=HEADER_FIELD from=$RELATED_HEADERS}
+									<th>
+										{if $HEADER_FIELD->get('column') eq 'time_start' or $HEADER_FIELD->get('column') eq 'time_end' or $HEADER_FIELD->getFieldDataType() eq 'reference'}
+										{else}
+											{assign var=FIELD_UI_TYPE_MODEL value=$HEADER_FIELD->getUITypeModel()}
+											{include file=vtemplate_path($FIELD_UI_TYPE_MODEL->getListSearchTemplateName(),$RELATED_MODULE_NAME)
+											FIELD_MODEL= $HEADER_FIELD SEARCH_INFO=$SEARCH_DETAILS[$HEADER_FIELD->getName()] USER_MODEL=$USER_MODEL}
+											<input type="hidden" class="operatorValue" value="{$SEARCH_DETAILS[$HEADER_FIELD->getName()]['comparator']}">
+										{/if}
+									</th>
+								{/foreach}
+							</tr>
+						</thead>
+						{foreach item=RELATED_RECORD from=$RELATED_RECORDS}
+							{assign var=BASE_CURRENCY_DETAILS value=$RELATED_RECORD->getBaseCurrencyDetails()}
+							<tr class="listViewEntries" data-id='{$RELATED_RECORD->getId()}' data-recordUrl='{$RELATED_RECORD->getDetailViewUrl()}'>
+								<td style="width:100px">
+									<span class="actionImages">
+										{if (!empty($RELATED_HEADERS['listprice']) || !empty($RELATED_HEADERS['unit_price']))}
+											{if !empty($RELATED_HEADERS['listprice'])}
+												{assign var="LISTPRICE" value=$RELATED_RECORD->get('listprice')}
+											{/if}
+										{/if}
+										<a href="javascript:void(0);" data-url="index.php?module=PriceBooks&view=ListPriceUpdate&record={$PARENT_RECORD->getId()}&relid={$RELATED_RECORD->getId()}&currentPrice={$LISTPRICE}"
+											class="editListPrice cursorPointer" data-related-recordid='{$RELATED_RECORD->getId()}' data-list-price={$LISTPRICE}><i title="{vtranslate('LBL_EDIT', $MODULE)}" class="fa fa-pencil"></i></a> &nbsp;&nbsp;
+										<a class="relationDelete"><i title="{vtranslate('LBL_UNLINK', $MODULE)}" class="vicon-linkopen"></i></a>
+									</span>
+								</td>
+								{foreach item=HEADER_FIELD from=$RELATED_HEADERS}
+									{assign var=RELATED_HEADERNAME value=$HEADER_FIELD->get('name')}
+									<td nowrap class="{$WIDTHTYPE}">
+										{if $HEADER_FIELD->get('name') == 'listprice'}
+											{assign var="LISTPRICE" value=$RELATED_RECORD->get($HEADER_FIELD->get('name'))}
+											{CurrencyField::appendCurrencySymbol($LISTPRICE, $PARENT_RECORD_CURRENCY_SYMBOL)}
+										{else if $HEADER_FIELD->isNameField() eq true or $HEADER_FIELD->get('uitype') eq '4'}
+											<a href="{$RELATED_RECORD->getDetailViewUrl()}">{$RELATED_RECORD->getDisplayValue($RELATED_HEADERNAME)}</a>
+										{elseif $HEADER_FIELD->get('uitype') eq '71' or $HEADER_FIELD->get('uitype') eq '72'}
+											{assign var=CURRENCY_SYMBOL value=Vtiger_RelationListView_Model::getCurrencySymbol($RELATED_RECORD->get('id'), $HEADER_FIELD)}
+											{assign var=CURRENCY_VALUE value=CurrencyField::convertToUserFormat($RELATED_RECORD->get($RELATED_HEADERNAME))}
+											{if $HEADER_FIELD->get('uitype') eq '72'}
+												{assign var=CURRENCY_VALUE value=CurrencyField::convertToUserFormat($RELATED_RECORD->get($RELATED_HEADERNAME), null, true)}
+											{/if}
+											{CurrencyField::appendCurrencySymbol($CURRENCY_VALUE, $CURRENCY_SYMBOL)}
+										{else}
+											{$RELATED_RECORD->getDisplayValue($RELATED_HEADERNAME)}
+										{/if}
+										{if $HEADER_FIELD@last}
+											</td>
+										{/if}
+									</td>
+								{/foreach}
+							</tr>
+						{/foreach}
+					</table>
+				</div>
+			</div>
+			<script type="text/javascript">
+				var related_uimeta = (function() {
+					var fieldInfo = {$RELATED_FIELDS_INFO};
+					return {
+						field: {
+							get: function(name, property) {
+								if(name && property === undefined) {
+									return fieldInfo[name];
+								}
+								if(name && property) {
+									return fieldInfo[name][property]
+								}
+							},
+							isMandatory : function(name){
+								if(fieldInfo[name]) {
+									return fieldInfo[name].mandatory;
+								}
+								return false;
+							},
+							getType : function(name){
+								if(fieldInfo[name]) {
+									return fieldInfo[name].type
+								}
+								return false;
+							}
+						},
+					};
+				})();
+			</script>
+		</div>
+	{/if}
 {/strip}
diff --git a/layouts/v7/modules/Products/BundleCostView.tpl b/layouts/v7/modules/Products/BundleCostView.tpl
index c298ecb990f9e100932833f0b605931dc03594e7..e8ded67c5553ed19ca58a1e027f2a3d595b6bf5b 100644
--- a/layouts/v7/modules/Products/BundleCostView.tpl
+++ b/layouts/v7/modules/Products/BundleCostView.tpl
@@ -15,7 +15,7 @@
     </label>
     {assign var=PRODUCT_ACTUAL_PRICE value="{CurrencyField::convertToUserFormat((float)$PARENT_RECORD->get('unit_price'), '', true, true)}"}
     &nbsp;&nbsp;
-    <button type="button" id ="updatePrice" class="btn btn-sm btn-dark"
+    <button type="button" id ="updatePrice" class="btn btn-sm btn-dark btn-default"
             {if $SUB_PRODUCTS_TOTAL_COST eq $PRODUCT_ACTUAL_PRICE && $USER_MODEL->get('currency_id') eq $PARENT_RECORD->get('currency_id')}
                 disabled
             {/if}>
diff --git a/layouts/v7/modules/Settings/ExtensionStore/ExtensionModules.tpl b/layouts/v7/modules/Settings/ExtensionStore/ExtensionModules.tpl
index 66709240c1e3b0ef361679dfab4aa64ab242a712..092879628db49a1a51915a6fcdc6ff1721f9917e 100644
--- a/layouts/v7/modules/Settings/ExtensionStore/ExtensionModules.tpl
+++ b/layouts/v7/modules/Settings/ExtensionStore/ExtensionModules.tpl
@@ -61,7 +61,7 @@
 								<div class="col-sm-7 col-xs-7">
 									<div class="pull-right">
 										{if $EXTENSION->isVtigerCompatible()}
-											<button class="btn btn-sm installExtension addButton" style="margin-right:5px;">{vtranslate('LBL_MORE_DETAILS', $QUALIFIED_MODULE)}</button>
+											<button class="btn btn-sm btn-default installExtension addButton" style="margin-right:5px;">{vtranslate('LBL_MORE_DETAILS', $QUALIFIED_MODULE)}</button>
 											{if $EXTENSION->isAlreadyExists()}
 												{if ($EXTENSION->isUpgradable())}
 													<button class="oneclickInstallFree btn btn-success btn-sm margin0px {if $IS_AUTH}authenticated {else} loginRequired{/if}">
diff --git a/layouts/v7/modules/Settings/LayoutEditor/FieldCreate.tpl b/layouts/v7/modules/Settings/LayoutEditor/FieldCreate.tpl
index 3a3af5f26685c2d70fc021a254a90fd40f4d1895..bd20b0868a182ea1411e485e39ef825bf97c3390 100644
--- a/layouts/v7/modules/Settings/LayoutEditor/FieldCreate.tpl
+++ b/layouts/v7/modules/Settings/LayoutEditor/FieldCreate.tpl
@@ -70,7 +70,7 @@
 							&nbsp;<span class="redColor">*</span>
 						</label>
 						<div class="controls col-sm-7">
-							<input type="text" class='inputElement col-sm-9' maxlength="50" name="fieldLabel" value="{vtranslate($FIELD_MODEL->get('label'), $SELECTED_MODULE_NAME)}" data-rule-required='true' style='width: 75%' />
+							<input type="text" class='inputElement col-sm-9' maxlength="50" {if $IS_FIELD_EDIT_MODE}disabled="disabled"{/if} name="fieldLabel" value="{vtranslate($FIELD_MODEL->get('label'), $SELECTED_MODULE_NAME)}" data-rule-required='true' style='width: 75%' />
 						</div>
 					</div>
 					{if !$IS_FIELD_EDIT_MODE}
diff --git a/layouts/v7/modules/Settings/Leads/MappingDetail.tpl b/layouts/v7/modules/Settings/Leads/MappingDetail.tpl
index f522667bbc6b712d3569caff2a2c6162df86b303..cd77d9de93923da4be013e9a3c247911639b1a2b 100644
--- a/layouts/v7/modules/Settings/Leads/MappingDetail.tpl
+++ b/layouts/v7/modules/Settings/Leads/MappingDetail.tpl
@@ -15,7 +15,7 @@
                 <span class="col-sm-12">
                     <span class="pull-right">
                         {foreach item=LINK_MODEL from=$MODULE_MODEL->getDetailViewLinks()}
-                            <button type="button" class="btn btn-default" onclick={$LINK_MODEL->getUrl()}><strong>{vtranslate($LINK_MODEL->getLabel(), $QUALIFIED_MODULE)}</strong></button>
+                            <button type="button" class="btn btn-default" onclick={$LINK_MODEL->getUrl()}>{vtranslate($LINK_MODEL->getLabel(), $QUALIFIED_MODULE)}</button>
                         {/foreach}
                     </span>
                 </span>
diff --git a/layouts/v7/modules/Settings/ModuleManager/ListContents.tpl b/layouts/v7/modules/Settings/ModuleManager/ListContents.tpl
index 6a8d45986f2ffb080f65714382bb3a8de162de03..c5716cdf3f3bbe87caa62ae40ca6acb48c715f3c 100644
--- a/layouts/v7/modules/Settings/ModuleManager/ListContents.tpl
+++ b/layouts/v7/modules/Settings/ModuleManager/ListContents.tpl
@@ -62,9 +62,27 @@
 													</button>
 													<ul class="dropdown-menu pull-right dropdownfields">
 														{foreach item=SETTINGS_LINK from=$SETTINGS_LINKS}
-															<li>
-																<a {if stripos($SETTINGS_LINK['linkurl'], 'javascript:')===0} onclick='{$SETTINGS_LINK['linkurl']|substr:strlen("javascript:")};'{else} onclick='window.location.href = "{$SETTINGS_LINK['linkurl']}"'{/if}>{vtranslate($SETTINGS_LINK['linklabel'], $MODULE_NAME, vtranslate("SINGLE_$MODULE_NAME", $MODULE_NAME))}</a>
-															</li>
+															{if $MODULE_NAME eq 'Calendar'}
+																{if $SETTINGS_LINK['linklabel'] eq 'LBL_EDIT_FIELDS'}
+																	<li><a href="{$SETTINGS_LINK['linkurl']}&sourceModule=Events">{vtranslate($SETTINGS_LINK['linklabel'], $MODULE_NAME, vtranslate('LBL_EVENTS',$MODULE_NAME))}</a></li>
+																	<li><a href="{$SETTINGS_LINK['linkurl']}&sourceModule=Calendar">{vtranslate($SETTINGS_LINK['linklabel'], $MODULE_NAME, vtranslate('LBL_TASKS','Calendar'))}</a></li>
+																{else if $SETTINGS_LINK['linklabel'] eq 'LBL_EDIT_WORKFLOWS'} 
+																	<li><a href="{$SETTINGS_LINK['linkurl']}&sourceModule=Events">{vtranslate('LBL_EVENTS', $MODULE_NAME)} {vtranslate('LBL_WORKFLOWS',$MODULE_NAME)}</a></li>	
+																	<li><a href="{$SETTINGS_LINK['linkurl']}&sourceModule=Calendar">{vtranslate('LBL_TASKS', 'Calendar')} {vtranslate('LBL_WORKFLOWS',$MODULE_NAME)}</a></li>
+																{else}
+																	<li><a href={$SETTINGS_LINK['linkurl']}>{vtranslate($SETTINGS_LINK['linklabel'], $MODULE_NAME, vtranslate($MODULE_NAME, $MODULE_NAME))}</a></li>
+																{/if}
+															{else}
+																<li>
+																	<a	{if stripos($SETTINGS_LINK['linkurl'], 'javascript:')===0}
+																			onclick='{$SETTINGS_LINK['linkurl']|substr:strlen("javascript:")};'
+																		{else}
+																			onclick='window.location.href = "{$SETTINGS_LINK['linkurl']}"'
+																		{/if}>
+																		{vtranslate($SETTINGS_LINK['linklabel'], $MODULE_NAME, vtranslate("SINGLE_$MODULE_NAME", $MODULE_NAME))}
+																	</a>
+																</li>
+															{/if}
 														{/foreach}
 													</ul>
 												</span>
diff --git a/layouts/v7/modules/Settings/Workflows/resources/AdvanceFilter.js b/layouts/v7/modules/Settings/Workflows/resources/AdvanceFilter.js
index 2e6c71b18350a016baf6f54dd347bdf6ab66221d..4e1c752730c3255fbc6fa9c968b99e898b83c953 100644
--- a/layouts/v7/modules/Settings/Workflows/resources/AdvanceFilter.js
+++ b/layouts/v7/modules/Settings/Workflows/resources/AdvanceFilter.js
@@ -317,7 +317,7 @@ Vtiger_Field_Js('Workflows_Field_Js',{},{
 
 Workflows_Field_Js('Workflows_Text_Field_Js', {}, {
     getUi : function() {
-        var html = '<textarea class="getPopupUi" name="'+this.getName()+'" value="">'+this.getValue()+'</textarea>'+
+        var html = '<textarea class="getPopupUi textarea inputElement" name="'+this.getName()+'" value="">'+this.getValue()+'</textarea>'+
         '<input type="hidden" name="valuetype" value="'+this.get('workflow_valuetype')+'" />';
         html = jQuery(html);
         return this.addValidationToElement(html);
@@ -398,7 +398,7 @@ Vtiger_Date_Field_Js('Workflows_Datetime_Field_Js',{},{
         } else if(comparatorSelectedOptionVal == 'is today' || comparatorSelectedOptionVal == 'is tomorrow' || comparatorSelectedOptionVal == 'is yesterday') {
         // show nothing
         } else {
-            var html = '<input type="text" class="getPopupUi date" name="'+ this.getName() +'"  data-date-format="'+ this.getDateFormat() +'"  value="'+  this.getValue() + '" />'+
+            var html = '<input type="text" class="getPopupUi datetime inputElement" name="'+ this.getName() +'"  data-date-format="'+ this.getDateFormat() +'"  value="'+  this.getValue() + '" />'+
             '<input type="hidden" name="valuetype" value="'+this.get('workflow_valuetype')+'" />'
             var element = jQuery(html);
         }
@@ -420,7 +420,7 @@ Vtiger_Date_Field_Js('Workflows_Datetime_Field_Js',{},{
 Vtiger_Currency_Field_Js('Workflows_Currency_Field_Js',{},{
 
     getUi : function() {
-        var html = '<input type="text" class="getPopupUi marginLeftZero inputElement" name="'+ this.getName() +'" value="'+  this.getValue() + '"  />'+
+        var html = '<input type="text" class="getPopupUi marginLeftZero currency inputElement" name="'+ this.getName() +'" value="'+  this.getValue() + '"  />'+
         '<input type="hidden" name="valuetype" value="'+this.get('workflow_valuetype')+'" />';
         var element = jQuery(html);
         return this.addValidationToElement(element);
@@ -449,7 +449,7 @@ Vtiger_Field_Js('Vtiger_Percentage_Field_Js',{},{
 	 * @return - input percentage field
 	 */
     getUi : function() {
-        var html = '<input type="text" class="getPopupUi" name="'+ this.getName() +'" value="'+  this.getValue() + '" />'+
+        var html = '<input type="text" class="getPopupUi percent inputElement" name="'+ this.getName() +'" value="'+  this.getValue() + '" />'+
         '<input type="hidden" name="valuetype" value="'+this.get('workflow_valuetype')+'" />';
         var element = jQuery(html);
         return this.addValidationToElement(element);
@@ -463,7 +463,7 @@ Vtiger_Field_Js('Vtiger_Text_Field_Js',{},{
 	 * @return - input text field
 	 */
     getUi : function() {
-        var html = '<input type="text" class="getPopupUi inputElement" name="'+ this.getName() +'" value="'+  this.getValue() + '" />'+
+        var html = '<input type="text" class="getPopupUi text inputElement" name="'+ this.getName() +'" value="'+  this.getValue() + '" />'+
         '<input type="hidden" name="valuetype" value="'+this.get('workflow_valuetype')+'" />';
         var element = jQuery(html);
         return this.addValidationToElement(element);
diff --git a/layouts/v7/modules/Users/ChangeUsername.tpl b/layouts/v7/modules/Users/ChangeUsername.tpl
index 6d939ebbbe8c2e1bf12689db6a573fc6fdcbc288..361072b0ff25e1dda29a18e085f845f41d1d0cd2 100644
--- a/layouts/v7/modules/Users/ChangeUsername.tpl
+++ b/layouts/v7/modules/Users/ChangeUsername.tpl
@@ -24,7 +24,7 @@
                                 <span class="redColor">*</span>
                             </label>
                             <div class="controls col-sm-6">
-                                <input type="text" name="new_username" data-rule-required="true" data-rule-email="true" data-rule-illegal="true"/>
+                                <input type="text" name="new_username" data-rule-required="true" data-rule-illegal="true"/>
                             </div>
                         </div>
 
diff --git a/layouts/v7/modules/Vtiger/AddCommentForm.tpl b/layouts/v7/modules/Vtiger/AddCommentForm.tpl
index 6c4117f168df6febd453880142cb5ae5dc7f1be3..e436d980a250800e1a7a2dd5d9588d6db78a7936 100644
--- a/layouts/v7/modules/Vtiger/AddCommentForm.tpl
+++ b/layouts/v7/modules/Vtiger/AddCommentForm.tpl
@@ -29,7 +29,7 @@
             <div class="modal-body">
                 <div class="container-fluid">
                     <div class="row commentTextArea" id="mass_action_add_comment">
-                        <textarea class="col-lg-12 mention_listener" name="commentcontent" id="commentcontent" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}" placeholder="{vtranslate('LBL_WRITE_YOUR_COMMENT_HERE', $MODULE)}..." data-rule-required="true"></textarea>
+                        <textarea class="col-lg-12" name="commentcontent" id="commentcontent" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}" placeholder="{vtranslate('LBL_WRITE_YOUR_COMMENT_HERE', $MODULE)}..." data-rule-required="true"></textarea>
                     </div>
                 </div>
             </div>
diff --git a/layouts/v7/modules/Vtiger/AddDashBoardTabForm.tpl b/layouts/v7/modules/Vtiger/AddDashBoardTabForm.tpl
index 46920355f8547b23a196c3f9d1cf4ad23388e723..fff5cf4f78066413c60b36a512f5177e3af4a861 100644
--- a/layouts/v7/modules/Vtiger/AddDashBoardTabForm.tpl
+++ b/layouts/v7/modules/Vtiger/AddDashBoardTabForm.tpl
@@ -14,8 +14,8 @@
                 <input type="hidden" name="module" value="{$MODULE}"/>
                 <input type="hidden" name="action" value="DashBoardTab"/>
                 <input type="hidden" name="mode" value="addTab"/>
-                <div class="modal-body  clearfix">
-                    <div class="col-lg-3">
+                <div class="modal-body clearfix">
+                    <div class="col-lg-5">
                         <label class="control-label pull-right marginTop5px">
                             {vtranslate('LBL_TAB_NAME',$MODULE)}&nbsp;<span class="redColor">*</span>
                         </label>
diff --git a/layouts/v7/modules/Vtiger/Comment.tpl b/layouts/v7/modules/Vtiger/Comment.tpl
index 36b2595bceadc7ad51f3df25f5fcacf606fd36b3..5980b51dab69187181379bbd213795532c49085b 100644
--- a/layouts/v7/modules/Vtiger/Comment.tpl
+++ b/layouts/v7/modules/Vtiger/Comment.tpl
@@ -45,7 +45,10 @@
 											</a>
 										</span>&nbsp;&nbsp;
 									{/if}
-									<div class="">
+									<span class="commentTime text-muted cursorDefault">
+										<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getCommentedTime())}">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getCommentedTime())}</small>
+									</span>
+									<div class="commentInfoContentBlock">
 										<span class="commentInfoContent">
 											{nl2br($COMMENT->get('commentcontent'))}
 										</span>
@@ -76,44 +79,46 @@
 											{if $CHILD_COMMENTS_MODEL neq null and ($CHILDS_ROOT_PARENT_ID neq $PARENT_COMMENT_ID)}
 												{if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}&nbsp;&nbsp;&nbsp;{/if}
 												<span class="viewThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}">
-													<a href="javascript:void(0)" class="cursorPointer viewThread">
+													<a href="javascript:void(0)" class="cursorPointer viewThread" style="color: blue;">
 														<span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
 													</a>
 												</span>
 												<span class="hideThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}" style="display:none;">
-													<a href="javascript:void(0)" class="cursorPointer hideThread">
+													<a href="javascript:void(0)" class="cursorPointer hideThread" style="color: blue;">
 														<span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
 													</a>
 												</span>
 											{elseif $CHILD_COMMENTS_MODEL neq null and ($CHILDS_ROOT_PARENT_ID eq $PARENT_COMMENT_ID)}
 												{if $COMMENTS_MODULE_MODEL->isPermitted('EditView')}&nbsp;&nbsp;&nbsp;{/if}
 												<span class="viewThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}" style="display:none;">
-													<a href="javascript:void(0)" class="cursorPointer viewThread">
+													<a href="javascript:void(0)" class="cursorPointer viewThread" style="color: blue;">
 														<span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
 													</a>
 												</span>
 												<span class="hideThreadBlock" data-child-comments-count="{$CHILD_COMMENTS_COUNT}">
-													<a href="javascript:void(0)" class="cursorPointer hideThread">
+													<a href="javascript:void(0)" class="cursorPointer hideThread" style="color: blue;">
 														<span class="childCommentsCount">{$CHILD_COMMENTS_COUNT}</span>&nbsp;{if $CHILD_COMMENTS_COUNT eq 1}{vtranslate('LBL_REPLY',$MODULE_NAME)}{else}{vtranslate('LBL_REPLIES',$MODULE_NAME)}{/if}&nbsp;
 													</a>
 												</span>
 											{/if}
 										</span>
-
-										<span class="commentTime text-muted cursorDefault" style="padding:20px;">
-											<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getCommentedTime())}">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getCommentedTime())}</small>
-										</span>
 									</div>
-									<br>
 									{assign var="REASON_TO_EDIT" value=$COMMENT->get('reasontoedit')}
-									<div class="editedStatus" name="editStatus">
-										<div class="{if empty($REASON_TO_EDIT)}hide{/if} editReason">
-											<p class="text-muted"><small>[ {vtranslate('LBL_EDIT_REASON',$MODULE_NAME)} ] : <span name="editReason" class="textOverflowEllipsis">{nl2br($REASON_TO_EDIT)}</span></small></p>
+									{if $COMMENT->getCommentedTime() neq $COMMENT->getModifiedTime()}
+										<br>
+										<div class="commentEditStatus" name="editStatus">
+											{assign var="REASON_TO_EDIT" value=$COMMENT->get('reasontoedit')}
+											{if $REASON_TO_EDIT}
+												<div class="text-muted">
+													<small>{vtranslate('LBL_EDIT_REASON',$MODULE_NAME)} : <span name="editReason" class="textOverflowEllipsis">{nl2br($REASON_TO_EDIT)}</span></small>
+												</div>
+											{/if}
+											<div style="margin-top:5px;" class="text-muted">
+												<small>{vtranslate('LBL_COMMENT',$MODULE_NAME)} {strtolower(vtranslate('LBL_MODIFIED',$MODULE_NAME))}</small>&nbsp;
+												<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getModifiedTime())}" class="commentModifiedTime">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getModifiedTime())}</small>
+											</div>
 										</div>
-										{if $COMMENT->getCommentedTime() neq $COMMENT->getModifiedTime()}
-											<p class="text-muted cursorDefault"><small><em>{vtranslate('LBL_MODIFIED',$MODULE_NAME)}</em></small>&nbsp;<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getModifiedTime())}" class="commentModifiedTime">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getModifiedTime())}</small></p>
-										{/if}
-									</div>
+									{/if}
 									<div style="margin-top:5px;">
 										{assign var="FILE_DETAILS" value=$COMMENT->getFileNameAndDownloadURL()}
 										{foreach key=index item=FILE_DETAIL from=$FILE_DETAILS}
@@ -136,12 +141,11 @@
 									</div>
 								</div>
 							</div>
-							<hr>
 						</div>
 					</div>
 				</div>
-
 			</div>
 		</div>
+		<hr>
 	</div>
 {/strip}
\ No newline at end of file
diff --git a/layouts/v7/modules/Vtiger/EmailPreview.tpl b/layouts/v7/modules/Vtiger/EmailPreview.tpl
index 894b0040e5414e3d88a374f092324c2b5e9f897b..b4a132c4b5194ab1b197ddccaa80bb6a19f03d2f 100644
--- a/layouts/v7/modules/Vtiger/EmailPreview.tpl
+++ b/layouts/v7/modules/Vtiger/EmailPreview.tpl
@@ -56,7 +56,7 @@
                         </div>
                         <div class="col-lg-6">
                             <div class="email-preview-toolbar pull-right">
-                                {if $RECORD->getEmailFlag() neq 'SAVED' AND $PARENT_MODULE neq 'Cases'}
+                                {if $RECORD->getEmailFlag() neq 'SAVED'}
                                     <button type="button" name="previewReply" class="btn btn-sm" data-mode="emailReply">
                                         <strong>{vtranslate('LBL_REPLY',$MODULE)}</strong>
                                     </button>
diff --git a/layouts/v7/modules/Vtiger/JSResources.tpl b/layouts/v7/modules/Vtiger/JSResources.tpl
index 792197c07d45ce6edbd62fa629fc799ab06e4bbe..0f2ad260a753620b7fd5004fbf5d01a0aa916e3a 100644
--- a/layouts/v7/modules/Vtiger/JSResources.tpl
+++ b/layouts/v7/modules/Vtiger/JSResources.tpl
@@ -36,6 +36,7 @@
     <script type="text/javascript" src="layouts/v7/lib/jquery/jquery.timeago.js"></script>
     <script type="text/javascript" src="libraries/jquery/ckeditor/ckeditor.js"></script>
     <script type="text/javascript" src="libraries/jquery/ckeditor/adapters/jquery.js"></script>
+	<script type='text/javascript' src='layouts/v7/lib/anchorme_js/anchorme.min.js'></script>
     <script type="text/javascript" src="{vresource_url('layouts/v7/modules/Vtiger/resources/Class.js')}"></script>
     <script type='text/javascript' src="{vresource_url('layouts/v7/resources/helper.js')}"></script>
     <script type="text/javascript" src="{vresource_url('layouts/v7/resources/application.js')}"></script>
diff --git a/layouts/v7/modules/Vtiger/ListViewQuickPreview.tpl b/layouts/v7/modules/Vtiger/ListViewQuickPreview.tpl
index 22744f95297f6b12cfc56f957d28d38efd3d2eed..f03215f9325342f60390a9350683430056d4eb7e 100644
--- a/layouts/v7/modules/Vtiger/ListViewQuickPreview.tpl
+++ b/layouts/v7/modules/Vtiger/ListViewQuickPreview.tpl
@@ -72,7 +72,7 @@
             </div>
 
             <br>
-            {if $MODULE_MODEL->isCommentEnabled() && $MODULE_NAME neq 'Cases'}
+            {if $MODULE_MODEL->isCommentEnabled()}
                 <div class="quickPreviewComments">
                     {include file="ListViewQuickPreviewSectionHeader.tpl"|vtemplate_path:$MODULE_NAME TITLE="{vtranslate('LBL_RECENT_COMMENTS',$MODULE_NAME)}"}
                     {include file="QuickViewCommentsList.tpl"|vtemplate_path:$MODULE_NAME}
diff --git a/layouts/v7/modules/Vtiger/QuickCreate.tpl b/layouts/v7/modules/Vtiger/QuickCreate.tpl
index cbff7264b3c24057177b7b20c1fb55d7e4fbf368..cae856119138bd8d0ea6b73455631dfe36be0ab8 100644
--- a/layouts/v7/modules/Vtiger/QuickCreate.tpl
+++ b/layouts/v7/modules/Vtiger/QuickCreate.tpl
@@ -109,7 +109,7 @@
                             {assign var=BUTTON_LABEL value={vtranslate('LBL_SAVE', $MODULE)}}
                         {/if}
                         {assign var="EDIT_VIEW_URL" value=$MODULE_MODEL->getCreateRecordUrl()}
-                        <button class="btn" id="goToFullForm" data-edit-view-url="{$EDIT_VIEW_URL}" type="button"><strong>{vtranslate('LBL_GO_TO_FULL_FORM', $MODULE)}</strong></button>
+                        <button class="btn btn-default" id="goToFullForm" data-edit-view-url="{$EDIT_VIEW_URL}" type="button"><strong>{vtranslate('LBL_GO_TO_FULL_FORM', $MODULE)}</strong></button>
                         <button {if $BUTTON_ID neq null} id="{$BUTTON_ID}" {/if} class="btn btn-success" type="submit" name="saveButton"><strong>{$BUTTON_LABEL}</strong></button>
                         <a href="#" class="cancelLink" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
                     </center>
diff --git a/layouts/v7/modules/Vtiger/RecentComments.tpl b/layouts/v7/modules/Vtiger/RecentComments.tpl
index 18b574ac227dbc399d5e44bcde84720ffb3e098e..a12f69e17f7c8aafba90529c2e9fea5d1e58f895 100644
--- a/layouts/v7/modules/Vtiger/RecentComments.tpl
+++ b/layouts/v7/modules/Vtiger/RecentComments.tpl
@@ -20,7 +20,7 @@
 				<div class="row">
 					<div class=" col-lg-12">
 						<div class="commentTextArea ">
-							<textarea name="commentcontent" class="commentcontent form-control mention_listener" placeholder="{vtranslate('LBL_POST_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
+							<textarea name="commentcontent" class="commentcontent form-control col-lg-12" placeholder="{vtranslate('LBL_POST_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
 						</div>
 					</div>
 				</div>
@@ -98,7 +98,7 @@
 													<span class="text-muted wordbreak display-inline-block">
 														{vtranslate('LBL_ON','Vtiger')}&nbsp;
 														{vtranslate($SINGULR_MODULE,$COMMENT->get('module'))}&nbsp;
-														<a href="index.php?module={$COMMENT->get('module')}&view=Detail&record={$COMMENT->get('related_to')}">
+														<a href="index.php?module={$COMMENT->get('module')}&view=Detail&record={$COMMENT->get('related_to')}" style="color: blue;">
 															{$ENTITY_NAME[$COMMENT->get('related_to')]}
 														</a>
 													</span>&nbsp;&nbsp;
@@ -107,19 +107,16 @@
 													<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getCommentedTime())}">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getCommentedTime())}</small>
 												</span>
 
-												<div class="">
-													{if $COMMENT->get('module') eq 'Cases' and !$COMMENT->get('is_private')}
-														{assign var=COMMENT_CONTENT value={decode_html($COMMENT->get('commentcontent'))}}
-													{else}
-														{assign var=COMMENT_CONTENT value={nl2br($COMMENT->get('commentcontent'))}}
-													{/if}
+												<div class="commentInfoContentBlock">
+													{assign var=COMMENT_CONTENT value={nl2br($COMMENT->get('commentcontent'))}}
 													{if $COMMENT_CONTENT}
 														{assign var=DISPLAYNAME value={decode_html($COMMENT_CONTENT)}}
-														<span class="commentInfoContent" style="display: block" data-fullComment="{$COMMENT_CONTENT|escape:"html"}" data-shortComment="{$DISPLAYNAME|mb_substr:0:200|escape:"html"}..." data-more='{vtranslate('LBL_SHOW_MORE',$MODULE)}' data-less='{vtranslate('LBL_SHOW',$MODULE)} {vtranslate('LBL_LESS',$MODULE)}'>
-															{if $DISPLAYNAME|count_characters:true gt 200} 
-																{mb_substr(trim($DISPLAYNAME),0,200)}... 
-																<br><a class="pull-right toggleComment showMore"><small>{vtranslate('LBL_SHOW_MORE',$MODULE)}</small></a>
-															{else} 
+														{assign var=MAX_LENGTH value=200}
+														<span class="commentInfoContent" data-maxlength="{$MAX_LENGTH}" style="display: block" data-fullComment="{$COMMENT_CONTENT|escape:"html"}" data-shortComment="{$DISPLAYNAME|mb_substr:0:200|escape:"html"}..." data-more='{vtranslate('LBL_SHOW_MORE',$MODULE)}' data-less='{vtranslate('LBL_SHOW',$MODULE)} {vtranslate('LBL_LESS',$MODULE)}'>
+															{if $DISPLAYNAME|count_characters:true gt $MAX_LENGTH}
+																{mb_substr(trim($DISPLAYNAME),0,$MAX_LENGTH)}...
+																<a class="pull-right toggleComment showMore" style="color: blue;"><small>{vtranslate('LBL_SHOW_MORE',$MODULE)}</small></a>
+															{else}
 																{$COMMENT_CONTENT}
 															{/if}
 														</span>
@@ -132,10 +129,10 @@
 														<div class="commentAttachmentName">
 															<div class="filePreview clearfix">
 																<span class="fa fa-paperclip cursorPointer" ></span>&nbsp;&nbsp;
-																<a class="previewfile" onclick="Vtiger_Detail_Js.previewFile(event,{$COMMENT->get('id')},{$FILE_DETAIL['attachmentId']});" data-filename="{$FILE_NAME}" href="javascript:void(0)" name="viewfile">
+																<a class="previewfile" onclick="Vtiger_Detail_Js.previewFile(event,{$COMMENT->get('id')},{$FILE_DETAIL['attachmentId']});" data-filename="{$FILE_NAME}" href="javascript:void(0)" name="viewfile" style="color: blue;">
 																	<span title="{$FILE_DETAIL['rawFileName']}" style="line-height:1.5em;">{$FILE_NAME}</span>&nbsp
 																</a>&nbsp;
-																<a name="downloadfile" href="{$FILE_DETAIL['url']}">
+																<a name="downloadfile" href="{$FILE_DETAIL['url']}" style="color: blue;">
 																	<i title="{vtranslate('LBL_DOWNLOAD_FILE',$MODULE_NAME)}" class="hide fa fa-download alignMiddle" ></i>
 																</a>
 															</div>
@@ -146,7 +143,7 @@
 												<div class="commentActionsContainer" style="margin-top: 2px;">
 													<span>
 														{if $PARENT_COMMENT_MODEL neq false or $CHILD_COMMENTS_MODEL neq null}
-															<a href="javascript:void(0);" class="cursorPointer detailViewThread">{vtranslate('LBL_VIEW_THREAD',$MODULE_NAME)}</a>&nbsp;&nbsp;
+															<a href="javascript:void(0);" class="cursorPointer detailViewThread" style="color: blue;">{vtranslate('LBL_VIEW_THREAD',$MODULE_NAME)}</a>&nbsp;
 														{/if}
 													</span>
 													<span class="summarycommemntActionblock" >
@@ -164,30 +161,24 @@
 														{/if}
 													</span>
 												</div>
-												<br>
-												<div class="row commentEditStatus marginBottom10px" name="editStatus">
-													{assign var="REASON_TO_EDIT" value=$COMMENT->get('reasontoedit')}
-													<span class="col-lg-5 col-md-5 col-sm-5{if empty($REASON_TO_EDIT)} hide{/if}">
-														<small> [{vtranslate('LBL_EDIT_REASON',$MODULE_NAME)}]</small>
-													</span>
-													{if $COMMENT->getCommentedTime() neq $COMMENT->getModifiedTime()}
-														<span class="{if empty($REASON_TO_EDIT)}row{else} col-lg-7 col-md-7 col-sm-7{/if}">
-															<p class="text-muted pull-right">
-																<small><em>{vtranslate('LBL_MODIFIED',$MODULE_NAME)}</em></small>&nbsp;
+												{if $COMMENT->getCommentedTime() neq $COMMENT->getModifiedTime()}
+													<br>
+													<div class="row commentEditStatus" name="editStatus">
+														{assign var="REASON_TO_EDIT" value=$COMMENT->get('reasontoedit')}
+														{if $REASON_TO_EDIT}
+															<span class="text-muted col-lg-5 col-md-5 col-sm-5">
+																<small>{vtranslate('LBL_EDIT_REASON',$MODULE_NAME)} : <span name="editReason" class="textOverflowEllipsis">{nl2br($REASON_TO_EDIT)}</span></small>
+															</span>
+														{/if}
+														<span {if $REASON_TO_EDIT}class="col-lg-7 col-md-7 col-sm-7"{/if}>
+															<p class="text-muted pull-right" {if !$REASON_TO_EDIT}style="margin-right: 15px;"{/if}>
+																<small>{vtranslate('LBL_COMMENT',$MODULE_NAME)} {strtolower(vtranslate('LBL_MODIFIED',$MODULE_NAME))}</small>&nbsp;
 																<small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($COMMENT->getModifiedTime())}" class="commentModifiedTime">{Vtiger_Util_Helper::formatDateDiffInStrings($COMMENT->getModifiedTime())}</small>
 															</p>
 														</span>
-													{/if}
-												</div> 
-												<div class="row marginBottom10px">
-													<div class="col-lg-12 col-md-12 col-sm-12">
-														<p class="text-muted">
-															<small>
-																<span name="editReason" class="wordbreak">{nl2br($REASON_TO_EDIT)}</span>
-															</small>
-														</p>
 													</div>
-												</div>
+												{/if}
+												<br>
 											</div>
 										</div>
 									</div>
@@ -206,15 +197,15 @@
 		{if $PAGING_MODEL->isNextPageExists()}
 			<div class="row">
 				<div class="textAlignCenter">
-					<a href="javascript:void(0)" class="moreRecentComments">{vtranslate('LBL_SHOW_MORE',$MODULE_NAME)}</a>
+					<a href="javascript:void(0)" class="moreRecentComments" style="color: blue;">{vtranslate('LBL_SHOW_MORE',$MODULE_NAME)}</a>
 				</div>
 			</div>
 		{/if}
 	</div>
 
-	<div class="hide basicAddCommentBlock container-fluid">
+	<div class="hide basicAddCommentBlock container-fluid" style="min-height: 110px;">
 		<div class="commentTextArea row">
-			<textarea name="commentcontent" class="commentcontent" placeholder="{vtranslate('LBL_ADD_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
+			<textarea name="commentcontent" class="commentcontent col-lg-12" placeholder="{vtranslate('LBL_ADD_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
 		</div>
 		<div class="pull-right row">
 			{if in_array($MODULE_NAME, $PRIVATE_COMMENT_MODULES)}
@@ -235,7 +226,7 @@
 		</div>
 		<div class="row" style="padding-bottom: 10px;">
 			<div class="commentTextArea">
-				<textarea name="commentcontent" class="commentcontenthidden" placeholder="{vtranslate('LBL_ADD_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
+				<textarea name="commentcontent" class="commentcontenthidden col-lg-12" placeholder="{vtranslate('LBL_ADD_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
 			</div>
 		</div>
 		<input type="hidden" name="is_private">
diff --git a/layouts/v7/modules/Vtiger/ShowAllComments.tpl b/layouts/v7/modules/Vtiger/ShowAllComments.tpl
index 48e85cf0b03b9fa58e041577d4d87cf86a06a4da..ec07af50a88fa12b4b4f7a303fddf8712559c2b7 100644
--- a/layouts/v7/modules/Vtiger/ShowAllComments.tpl
+++ b/layouts/v7/modules/Vtiger/ShowAllComments.tpl
@@ -18,7 +18,7 @@
 			<div class="commentTitle row">
 				<div class="addCommentBlock">
 					<div class="commentTextArea">
-						<textarea name="commentcontent" class="commentcontent form-control mention_listener"  placeholder="{vtranslate('LBL_POST_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
+						<textarea name="commentcontent" class="commentcontent form-control"  placeholder="{vtranslate('LBL_POST_YOUR_COMMENT_HERE', $MODULE_NAME)}" rows="{$COMMENT_TEXTAREA_DEFAULT_ROWS}"></textarea>
 					</div>
 					<div class="row">
 						<div class="col-xs-4 pull-right">
diff --git a/layouts/v7/modules/Vtiger/dashboards/DashBoardHeader.tpl b/layouts/v7/modules/Vtiger/dashboards/DashBoardHeader.tpl
index 11737f390cd775c3b9c26c13df9c7dbf04c2dd17..acb399727682e0debaa7ab289635a267f9e55797 100644
--- a/layouts/v7/modules/Vtiger/dashboards/DashBoardHeader.tpl
+++ b/layouts/v7/modules/Vtiger/dashboards/DashBoardHeader.tpl
@@ -50,7 +50,7 @@
 
 				</ul>
 			{else if $MODULE_PERMISSION}
-				<button class='btn addButton dropdown-toggle' disabled="disabled" data-toggle='dropdown'>
+				<button class='btn btn-default addButton dropdown-toggle' disabled="disabled" data-toggle='dropdown'>
 					<strong>{vtranslate('LBL_ADD_WIDGET')}</strong> &nbsp;&nbsp;
 					<i class="caret"></i>
 				</button>
diff --git a/layouts/v7/modules/Vtiger/partials/RelatedListHeader.tpl b/layouts/v7/modules/Vtiger/partials/RelatedListHeader.tpl
index 601b670aa0436261582d6e07a1f09377536e2fb5..f31d656475edd26e0b60ff41164088db4533ce74 100644
--- a/layouts/v7/modules/Vtiger/partials/RelatedListHeader.tpl
+++ b/layouts/v7/modules/Vtiger/partials/RelatedListHeader.tpl
@@ -1,52 +1,60 @@
+{*+**********************************************************************************
+* The contents of this file are subject to the vtiger CRM Public License Version 1.1
+* ("License"); You may not use this file except in compliance with the License
+* The Original Code is: vtiger CRM Open Source
+* The Initial Developer of the Original Code is vtiger.
+* Portions created by vtiger are Copyright (C) vtiger.
+* All Rights Reserved.
+*************************************************************************************}
+
 {strip}
-<div class="relatedHeader">
-    <div class="btn-toolbar row">
-        <div class="col-lg-6 col-md-6 col-sm-6 btn-toolbar">
-            {foreach item=RELATED_LINK from=$RELATED_LIST_LINKS['LISTVIEWBASIC']}
-                <div class="btn-group">
-                    {assign var=DROPDOWNS value=$RELATED_LINK->get('linkdropdowns')}
-                    {if count($DROPDOWNS) gt 0}
-                        <div class="btn-group">
-                            <a class="btn dropdown-toggle" href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" data-delay="200" data-close-others="false" style="width:20px;height:18px;">
-                                <img title="{$RELATED_LINK->getLabel()}" alt="{$RELATED_LINK->getLabel()}" src="{vimage_path("{$RELATED_LINK->getIcon()}")}">
-                            </a>
-                            <ul class="dropdown-menu">
-                                {foreach item=DROPDOWN from=$DROPDOWNS}
-                                    <li><a id="{$RELATED_MODULE_NAME}_relatedlistView_add_{Vtiger_Util_Helper::replaceSpaceWithUnderScores($DROPDOWN['label'])}" class="{$RELATED_LINK->get('linkclass')}" href='javascript:void(0)' data-documentType="{$DROPDOWN['type']}" data-url="{$DROPDOWN['url']}" data-name="{$RELATED_MODULE_NAME}" data-firsttime="{$DROPDOWN['firsttime']}"><i class="icon-plus"></i>&nbsp;{vtranslate($DROPDOWN['label'], $RELATED_MODULE_NAME)}</a></li>
-                                {/foreach}
-                            </ul>
-                        </div>
-                    {else}
-                        {assign var=IS_SELECT_BUTTON value={$RELATED_LINK->get('_selectRelation')}}
-                        {* setting button module attribute to Events or Calendar based on link label *}
-                        {assign var=LINK_LABEL value={$RELATED_LINK->get('linklabel')}}
-                        {if $RELATED_LINK->get('_linklabel') === '_add_event'}
-                            {assign var=RELATED_MODULE_NAME value='Events'}
-                        {elseif $RELATED_LINK->get('_linklabel') === '_add_task'}
-                            {assign var=RELATED_MODULE_NAME value='Calendar'}
-                        {/if}
-						{if $IS_SELECT_BUTTON || $IS_CREATE_PERMITTED}
-							<button type="button" module="{$RELATED_MODULE_NAME}"  class="btn addButton btn-default
-								{if $IS_SELECT_BUTTON eq true} selectRelation {/if} "
-								{if $IS_SELECT_BUTTON eq true} data-moduleName={$RELATED_LINK->get('_module')->get('name')} {/if}
-								{if ($RELATED_LINK->isPageLoadLink())}
-								{if $RELATION_FIELD} data-name="{$RELATION_FIELD->getName()}" {/if}
-								data-url="{$RELATED_LINK->getUrl()}{if $SELECTED_MENU_CATEGORY}&app={$SELECTED_MENU_CATEGORY}{/if}"
-								{/if}
-							{if $IS_SELECT_BUTTON neq true}name="addButton"{/if}>{if $IS_SELECT_BUTTON eq false}<i class="fa fa-plus"></i>&nbsp;{/if}&nbsp;{$RELATED_LINK->getLabel()}</button>
+	<div class="relatedHeader">
+		<div class="btn-toolbar row">
+			<div class="col-lg-6 col-md-6 col-sm-6 btn-toolbar">
+				 {foreach item=RELATED_LINK from=$RELATED_LIST_LINKS['LISTVIEWBASIC']}
+					<div class="btn-group">
+						{assign var=DROPDOWNS value=$RELATED_LINK->get('linkdropdowns')}
+						{if count($DROPDOWNS) gt 0}
+							<a class="btn dropdown-toggle" href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" data-delay="200" data-close-others="false" style="width:20px;height:18px;">
+								<img title="{$RELATED_LINK->getLabel()}" alt="{$RELATED_LINK->getLabel()}" src="{vimage_path("{$RELATED_LINK->getIcon()}")}">
+							</a>
+							<ul class="dropdown-menu">
+								{foreach item=DROPDOWN from=$DROPDOWNS}
+									<li><a id="{$RELATED_MODULE_NAME}_relatedlistView_add_{Vtiger_Util_Helper::replaceSpaceWithUnderScores($DROPDOWN['label'])}" class="{$RELATED_LINK->get('linkclass')}" href='javascript:void(0)' data-documentType="{$DROPDOWN['type']}" data-url="{$DROPDOWN['url']}" data-name="{$RELATED_MODULE_NAME}" data-firsttime="{$DROPDOWN['firsttime']}"><i class="icon-plus"></i>&nbsp;{vtranslate($DROPDOWN['label'], $RELATED_MODULE_NAME)}</a></li>
+								{/foreach}
+							</ul>
+						{else}
+							{assign var=IS_SELECT_BUTTON value={$RELATED_LINK->get('_selectRelation')}}
+							{* setting button module attribute to Events or Calendar based on link label *}
+							{assign var=LINK_LABEL value={$RELATED_LINK->get('linklabel')}}
+							{if $RELATED_LINK->get('_linklabel') === '_add_event'}
+								{assign var=RELATED_MODULE_NAME value='Events'}
+							{elseif $RELATED_LINK->get('_linklabel') === '_add_task'}
+								{assign var=RELATED_MODULE_NAME value='Calendar'}
+							{/if}
+							{if $IS_SELECT_BUTTON || $IS_CREATE_PERMITTED}
+								<button type="button" module="{$RELATED_MODULE_NAME}" class="btn btn-default
+									{if $IS_SELECT_BUTTON eq true} selectRelation{else} addButton" name="addButton{/if}"
+									{if $IS_SELECT_BUTTON eq true} data-moduleName="{$RELATED_LINK->get('_module')->get('name')}" {/if}
+									{if ($RELATED_LINK->isPageLoadLink())}
+										{if $RELATION_FIELD} data-name="{$RELATION_FIELD->getName()}" {/if}
+										data-url="{$RELATED_LINK->getUrl()}{if $SELECTED_MENU_CATEGORY}&app={$SELECTED_MENU_CATEGORY}{/if}"
+									{/if}
+									>{if $IS_SELECT_BUTTON eq false}<i class="fa fa-plus"></i>&nbsp;{/if}&nbsp;{$RELATED_LINK->getLabel()}</button>
+							{/if}
 						{/if}
-                    {/if}
-                </div>
-            {/foreach}&nbsp;
-        </div>
-        {assign var=CLASS_VIEW_ACTION value='relatedViewActions'}
-        {assign var=CLASS_VIEW_PAGING_INPUT value='relatedViewPagingInput'}
-        {assign var=CLASS_VIEW_PAGING_INPUT_SUBMIT value='relatedViewPagingInputSubmit'}
-        {assign var=CLASS_VIEW_BASIC_ACTION value='relatedViewBasicAction'}
-        {assign var=PAGING_MODEL value=$PAGING}
-        {assign var=RECORD_COUNT value=$RELATED_RECORDS|@count}
-        {assign var=PAGE_NUMBER value=$PAGING->get('page')}
-        {include file="Pagination.tpl"|vtemplate_path:$MODULE SHOWPAGEJUMP=true}
-    </div>
-</div>
+					</div>
+				{/foreach}
+				&nbsp;
+			</div>
+			{assign var=CLASS_VIEW_ACTION value='relatedViewActions'}
+			{assign var=CLASS_VIEW_PAGING_INPUT value='relatedViewPagingInput'}
+			{assign var=CLASS_VIEW_PAGING_INPUT_SUBMIT value='relatedViewPagingInputSubmit'}
+			{assign var=CLASS_VIEW_BASIC_ACTION value='relatedViewBasicAction'}
+			{assign var=PAGING_MODEL value=$PAGING}
+			{assign var=RECORD_COUNT value=$RELATED_RECORDS|@count}
+			{assign var=PAGE_NUMBER value=$PAGING->get('page')}
+			{include file="Pagination.tpl"|vtemplate_path:$MODULE SHOWPAGEJUMP=true}
+		</div>
+	</div>
 {/strip}
\ No newline at end of file
diff --git a/layouts/v7/modules/Vtiger/partials/Topbar.tpl b/layouts/v7/modules/Vtiger/partials/Topbar.tpl
index edd04254e99d55c8271b74beffc4330e9fd16f7d..50f71257254d3b461f69f3c4ee17df3cfcd84afb 100644
--- a/layouts/v7/modules/Vtiger/partials/Topbar.tpl
+++ b/layouts/v7/modules/Vtiger/partials/Topbar.tpl
@@ -26,7 +26,7 @@
 								<span class="app-icon fa fa-bars"></span>
 							</div>
 						</div>
-						<div class="logo-container col-lg-8 col-md-8 col-sm-8 col-xs-8">
+						<div class="logo-container col-lg-9 col-md-9 col-sm-9 col-xs-9">
 							<div class="row">
 								<a href="index.php" class="company-logo">
 									<img src="{$COMPANY_LOGO->get('imagepath')}" alt="{$COMPANY_LOGO->get('alt')}"/>
diff --git a/layouts/v7/modules/Vtiger/resources/AdvanceSearchList.js b/layouts/v7/modules/Vtiger/resources/AdvanceSearchList.js
index bf1d434bde0629bdee0c91b66746ecb4db040d38..56d99c86fca2d3ab54836c66eda0b3259a3e1c09 100644
--- a/layouts/v7/modules/Vtiger/resources/AdvanceSearchList.js
+++ b/layouts/v7/modules/Vtiger/resources/AdvanceSearchList.js
@@ -72,39 +72,7 @@ Vtiger_List_Js('Vtiger_AdvanceSearchList_Js',{},{
 			window.location.href = url +'&'+ $.param(postData);
 		});
 	},
-	
    
-     registerAcceptRecordClickEvent: function(){
-         jQuery('#searchResults-container').on('click', '.acceptCase', function(e){
-            var elem = jQuery(e.currentTarget);
-            var originalDropDownMenu = elem.closest('.dropdown-menu').data('original-menu');
-            var parent = app.helper.getDropDownmenuParent(originalDropDownMenu);
-            var recordId = parent.closest('tr').data('id');
-            var params = {
-                'module' : 'Cases',
-                'action' : 'SaveAjax',
-                'record' : recordId,
-                'mode' : 'updateCaseStatus'
-            }
-            app.helper.showProgress();
-             app.request.post({data:params}).then(
-                 function(error,data) {
-                     app.helper.hideProgress();
-                     if(error === null) {
-                         app.helper.showSuccessNotification({
-                             'message':app.vtranslate('JS_CASE_ACCEPTED_SUCCESSFULLY')
-                         });
-                         window.location.href = data.url;
-                     } else {
-                         app.helper.showErrorNotification({message : app.vtranslate(error.message)});
-                     }
-                 }
-             );
-            e.stopPropagation();
-        });
-    },
-	
-	
     registerDeleteRecordClickEvent :function(){
 		var thisInstance = this;
         jQuery('#searchResults-container').off('click');
diff --git a/layouts/v7/modules/Vtiger/resources/Detail.js b/layouts/v7/modules/Vtiger/resources/Detail.js
index f4dc16c66a72e6ce12a14298103bbbd9ff41d26d..8ca9532e75299469259aa7040897bb5a471ae34e 100644
--- a/layouts/v7/modules/Vtiger/resources/Detail.js
+++ b/layouts/v7/modules/Vtiger/resources/Detail.js
@@ -2006,7 +2006,6 @@ Vtiger.Class("Vtiger_Detail_Js",{
 		var detailContentsHolder = this.getContentHolder();
 		var clonedCommentBlock = jQuery('.basicEditCommentBlock',detailContentsHolder).clone(true,true).removeClass('basicEditCommentBlock hide').addClass('addCommentBlock');
 		clonedCommentBlock.find('.commentcontenthidden').removeClass('commentcontenthidden').addClass('commentcontent');
-		clonedCommentBlock.find('.commentcontent').addClass('mention_listener');
 		return clonedCommentBlock;
 	},
 
@@ -2018,7 +2017,6 @@ Vtiger.Class("Vtiger_Detail_Js",{
 		var detailContentsHolder = this.getContentHolder();
 		var clonedCommentBlock = jQuery('.basicAddCommentBlock',detailContentsHolder).clone(true,true).removeClass('basicAddCommentBlock hide').addClass('addCommentBlock');
 		clonedCommentBlock.find('.commentcontenthidden').removeClass('commentcontenthidden').addClass('commentcontent');
-		clonedCommentBlock.find('.commentcontent').addClass('mention_listener');
 		return clonedCommentBlock;
 	},
 
@@ -2106,6 +2104,24 @@ Vtiger.Class("Vtiger_Detail_Js",{
 		});
 	},
 
+	toggleCommentContent: function (e) {
+		var currentTarget = jQuery(e.currentTarget);
+		var commentContentBlock = currentTarget.closest('.commentInfoContentBlock');
+		var commentContentInfo = commentContentBlock.find('.commentInfoContent');
+		var toggleElement = jQuery('<div><a class="pull-right toggleComment" style="color: blue;"><small></small></a><div>');
+		var fullComment = vtUtils.linkifyStr(commentContentInfo.data('fullcomment'));
+
+		if (currentTarget.hasClass('showMore')) {
+			toggleElement.find('small').text(commentContentInfo.data('less'));
+			commentContentInfo.html(fullComment+toggleElement.clone().html());
+		} else {
+			var maxLength = commentContentInfo.data('maxlength');
+			toggleElement.find('small').text(commentContentInfo.data('more'));
+			toggleElement.find('.toggleComment').addClass('showMore');
+			commentContentInfo.html(vtUtils.htmlSubstring(fullComment, maxLength)+"..."+toggleElement.clone().html());
+		}
+	},
+
 	toggleRollupComments : function (e) {
 		e.stopPropagation();
 		e.preventDefault();
@@ -2114,9 +2130,12 @@ Vtiger.Class("Vtiger_Detail_Js",{
 		var moduleName = currentTarget.attr('module');
 		var recordId = currentTarget.attr('record');
 		var rollupId = currentTarget.attr('rollupid');
-		var rollupstatus = currentTarget.attr('rollup-status');
+		var rollup_status = currentTarget.attr('rollup-status');
+		var rollupstatus = 0;
+		if (rollup_status == 0) {
+			rollupstatus = 1;
+		}
 		var viewtype = currentTarget.data('view');
-		var startindex = parseInt(currentTarget.attr('startindex'));
 		var contents, url, params;
 
 		if(viewtype == 'relatedlist') {
@@ -2133,7 +2152,7 @@ Vtiger.Class("Vtiger_Detail_Js",{
 		} else {
 			url = 'index.php?module='+moduleName+'&relatedModule=ModComments&view=Detail&record='+
 					recordId+'&mode=showRecentComments'+'&rollupid='+rollupId
-					+'&rollup_status=0&parent='+moduleName+'&rollup-toggle=1&limit=5';
+					+'&rollup_status='+rollupstatus+'&parent='+moduleName+'&rollup-toggle=1&limit=5';
 			contents = jQuery('div[data-name="ModComments"] div.widget_contents');
 			params = {
 				'type' : 'GET',
@@ -2144,7 +2163,7 @@ Vtiger.Class("Vtiger_Detail_Js",{
 				contents.html(data);
 				vtUtils.enableTooltips();
 				self.registerRollupCommentsSwitchEvent();
-				jQuery('#rollupcomments').bootstrapSwitch('state', !rollupstatus, true);
+				jQuery('#rollupcomments').bootstrapSwitch('state', rollupstatus, true);
 			});
 		}
 	},
@@ -2846,7 +2865,13 @@ Vtiger.Class("Vtiger_Detail_Js",{
 			var commentInfoContent = commentInfoBlock.find('.commentInfoContent');
 			var commentReason = commentInfoBlock.find('[name="editReason"]');
 			var editCommentBlock = self.getEditCommentBlock();
-			editCommentBlock.find('.commentcontent').text(commentInfoContent.text());
+			var fullComment = commentInfoContent.data('fullcomment');
+			if (fullComment) {
+				fullComment = app.helper.getDecodedValue(fullComment);
+			} else {
+				fullComment = commentInfoContent.text();
+			}
+			editCommentBlock.find('.commentcontent').text(fullComment);
 			editCommentBlock.find('[name="reasonToEdit"]').val(commentReason.text());
 			editCommentBlock.find('[name="is_private"]').val(commentInfoBlock.find('[name="is_private"]').val());
 			/*commentInfoContent.hide();
@@ -2883,7 +2908,7 @@ Vtiger.Class("Vtiger_Detail_Js",{
 			app.request.post({data: params}).then(
 				function(err, data) {
 					if (data) {
-						commentArea = commentInfoBlock.find('.commentcontent');
+						var commentArea = commentInfoBlock.find('.commentcontent');
 						commentArea.val(data.usersString);
 						commentArea.focus();
 						var strLength= commentArea.val().length * 2;
@@ -2907,6 +2932,10 @@ Vtiger.Class("Vtiger_Detail_Js",{
 			recentDocumentsTab.trigger('click');
 		});
 
+		detailContentsHolder.off('.toggleComment').on('click', '.toggleComment', function (e) {
+			self.toggleCommentContent(e);
+		});
+
 		app.event.on('post.summarywidget.load',function(event,widgetContainer){
 			vtUtils.applyFieldElementsView(widgetContainer);
 
diff --git a/layouts/v7/modules/Vtiger/resources/List.js b/layouts/v7/modules/Vtiger/resources/List.js
index fd38877a4fd18ff880b853ff2f587b98ded0ac39..aed3b587b663640cf7cf298495ca99323e960942 100644
--- a/layouts/v7/modules/Vtiger/resources/List.js
+++ b/layouts/v7/modules/Vtiger/resources/List.js
@@ -2426,38 +2426,7 @@ Vtiger.Class("Vtiger_List_Js", {
 			self.registerFloatingThead();
 		});
 	},
-	/*
-	 * Function to register the list view accept record click event
-	 */
-	registerAcceptRecordClickEvent: function () {
-		jQuery('#page').on('click', '.acceptCase', function (e) {
-			var elem = jQuery(e.currentTarget);
-			var originalDropDownMenu = elem.closest('.dropdown-menu').data('original-menu');
-			var parent = app.helper.getDropDownmenuParent(originalDropDownMenu);
-			var recordId = parent.closest('tr').data('id');
-			var params = {
-				'module': 'Cases',
-				'action': 'SaveAjax',
-				'record': recordId,
-				'mode': 'updateCaseStatus'
-			}
-			app.helper.showProgress();
-			app.request.post({data: params}).then(
-					function (error, data) {
-						app.helper.hideProgress();
-						if (error === null) {
-							app.helper.showSuccessNotification({
-								'message': app.vtranslate('JS_CASE_ACCEPTED_SUCCESSFULLY')
-							});
-							window.location.href = data.url;
-						} else {
-							app.helper.showErrorNotification({message: app.vtranslate(error.message)});
-						}
-					}
-			);
-			e.stopPropagation();
-		});
-	},
+
 	registerEvents: function () {
 		var thisInstance = this;
 		this._super();
@@ -2481,7 +2450,6 @@ Vtiger.Class("Vtiger_List_Js", {
 		this.registerDynamicDropdownPosition();
 		this.registerDropdownPosition();
 		this.registerConfigureColumnsEvents();
-		this.registerAcceptRecordClickEvent();
 		var recordSelectTrackerObj = this.getRecordSelectTrackerInstance();
 		recordSelectTrackerObj.registerEvents();
 
diff --git a/layouts/v7/modules/Vtiger/resources/MergeRecords.js b/layouts/v7/modules/Vtiger/resources/MergeRecords.js
index 73be3720da2859c233dd8566df5028ad3ca73073..660f0bf271a3806183f93bf0b722fdce110235bc 100644
--- a/layouts/v7/modules/Vtiger/resources/MergeRecords.js
+++ b/layouts/v7/modules/Vtiger/resources/MergeRecords.js
@@ -50,8 +50,11 @@ Vtiger.Class('Vtiger_MergeRecords_Js',{},{
         // Adding Scroll 
         var offset = container.find('.modal-body .datacontent').offset();
         var viewPortHeight = $(window).height()-60;
+		if (offset) {
+			viewPortHeight = (viewPortHeight-offset['top']);
+		}
         var params = {
-                        setHeight:(viewPortHeight-offset['top'])+'px'
+                        setHeight:viewPortHeight+'px'
                     };
         app.helper.showVerticalScroll(container.find('.modal-body .datacontent'), params);
         
diff --git a/layouts/v7/modules/Vtiger/resources/Utils.js b/layouts/v7/modules/Vtiger/resources/Utils.js
index 6332b26ed71c00ec67370d61cd7ae88e3fff8b8f..452fc4c19527f773512899a3cae485afe247b4b9 100644
--- a/layouts/v7/modules/Vtiger/resources/Utils.js
+++ b/layouts/v7/modules/Vtiger/resources/Utils.js
@@ -1,3 +1,11 @@
+/*+**********************************************************************************
+ * The contents of this file are subject to the vtiger CRM Public License Version 1.1
+ * ("License"); You may not use this file except in compliance with the License
+ * The Original Code is: vtiger CRM Open Source
+ * The Initial Developer of the Original Code is vtiger.
+ * Portions created by vtiger are Copyright (C) vtiger.
+ * All Rights Reserved.
+ ************************************************************************************/
 
 var vtUtils = {
 
@@ -240,6 +248,51 @@ var vtUtils = {
         element.trigger('Vtiger.Qtip.HideMesssage');
     },
 
+	linkifyStr : function(str) {
+		var options = {'TLDs':267};
+		return anchorme.js(str,options);
+	},
+
+	htmlSubstring : function(content, maxlength) {
+		var m, r = /<([^>\s]*)[^>]*>/g,
+			stack = [],
+			lasti = 0,
+			result = '';
+
+		//for each tag, while we don't have enough characters
+		while ((m = r.exec(content)) && maxlength) {
+			//get the text substring between the last tag and this one
+			var temp = content.substring(lasti, m.index).substr(0, maxlength);
+			//append to the result and count the number of characters added
+			result += temp;
+			maxlength -= temp.length;
+			lasti = r.lastIndex;
+
+			if (content) {
+				result += m[0];
+				if (m[1].indexOf('/') === 0) {
+					//if this is a closing tag, then pop the stack (does not account for bad html)
+					stack.pop();
+				} else if (m[1].lastIndexOf('/') !== m[1].length - 1) {
+					//if this is not a self closing tag then push it in the stack
+					stack.push(m[1]);
+				}
+			}
+		}
+
+		//add the remainder of the string, if needed (there are no more tags in here)
+		result += content.substr(lasti, maxlength);
+
+		//fix the unclosed tags
+		while (stack.length) {
+			var unclosedtag = stack.pop();
+			if(jQuery.inArray(unclosedtag,['br']) == -1){
+				result += '</' + unclosedtag + '>';
+			}
+		}
+		return result;
+	},
+
     showValidationMessage : function(element,message,params) {
         if(element.hasClass('select2')) {
             element = app.helper.getSelect2FromSelect(element);
diff --git a/layouts/v7/modules/Vtiger/resources/Vtiger.js b/layouts/v7/modules/Vtiger/resources/Vtiger.js
index af391895841c856edbbcc1c775453a31b747b351..a4d3519bf115964925b43a6e985c00ad078c2790 100644
--- a/layouts/v7/modules/Vtiger/resources/Vtiger.js
+++ b/layouts/v7/modules/Vtiger/resources/Vtiger.js
@@ -372,7 +372,6 @@ Vtiger.Class('Vtiger_Index_Js', {
 		this.registerMultiUpload();
 		this.registerHoverEventOnAttachment();
 		//this.addBodyScroll();
-		this.mentionerCallBack();
 		this.modulesMenuScrollbar();
 		Vtiger_Index_Js.registerActivityReminder();
 		//reference preview event registeration
@@ -1291,18 +1290,6 @@ Vtiger.Class('Vtiger_Index_Js', {
 		app.helper.showVerticalScroll(jQuery("#modnavigator #modules-menu"),{autoHideScrollbar:true});
 	},
 
-	mentionerCallBack: function() {
-		jQuery(document).on('textComplete:select', '.mention_listener', function(e, word, strategy) {
-			//First charecter is " " if user mentioned in the begining
-			//Removing it here
-			var value = $(e.currentTarget).val();
-			value = app.getDecodedValue(value);
-			if(value.charAt(0) === ' ') value = value.substr(1);
-			$(e.currentTarget).val(value);
-			Vtiger_Index_Js.hideNC = false;
-		});
-	},
-
 	registerChangeTemplateEvent: function (container, recordId) {
 		var sourceModule = container.find('#sourceModuleName').val();
 		var thisInstance = this;
diff --git a/layouts/v7/skins/contact/style.css b/layouts/v7/skins/contact/style.css
index fcae04216a06dbc4a32e5c0c2aa79a2e2f3b72e7..1d40898d873abfd6e1076b5574c8a751849d66cc 100644
--- a/layouts/v7/skins/contact/style.css
+++ b/layouts/v7/skins/contact/style.css
@@ -102,7 +102,6 @@ body {
 @media (min-width: 992px) {
   .global-nav .logo-container {
     display: inline-block;
-    width: 150px;
     z-index: 2;
     padding-left: 6%;
     margin-top: 1px;
@@ -199,14 +198,13 @@ body {
 }
 .company-logo {
   height: 40px;
-  width: 150px;
   margin: 0 0;
   display: inline-block;
   margin-left: 1px;
 }
 .company-logo img {
   height: 100%;
-  width: auto;
+  width: 100%;
 }
 .navbar .fa {
   font-size: 15px;
@@ -277,13 +275,11 @@ body {
   }
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
 }
 @media (max-width: 991px) {
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
   .notificationMessageHolder {
     padding-left: 45%;
diff --git a/layouts/v7/skins/inventory/style.css b/layouts/v7/skins/inventory/style.css
index 118106d8854bf244822f331750a97be42d57eddb..2d13b0999bd98b78f1e2411cb3bd76c1ad3f7468 100644
--- a/layouts/v7/skins/inventory/style.css
+++ b/layouts/v7/skins/inventory/style.css
@@ -102,7 +102,6 @@ body {
 @media (min-width: 992px) {
   .global-nav .logo-container {
     display: inline-block;
-    width: 150px;
     z-index: 2;
     padding-left: 6%;
     margin-top: 1px;
@@ -199,14 +198,13 @@ body {
 }
 .company-logo {
   height: 40px;
-  width: 150px;
   margin: 0 0;
   display: inline-block;
   margin-left: 1px;
 }
 .company-logo img {
   height: 100%;
-  width: auto;
+  width: 100%;
 }
 .navbar .fa {
   font-size: 15px;
@@ -277,13 +275,11 @@ body {
   }
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
 }
 @media (max-width: 991px) {
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
   .notificationMessageHolder {
     padding-left: 45%;
diff --git a/layouts/v7/skins/marketing/style.css b/layouts/v7/skins/marketing/style.css
index 7332f871837a1d782bda31ba74aae011872227ad..55eb357a8fc348fb7168f50dbc6f4f5bb9f8cc2a 100644
--- a/layouts/v7/skins/marketing/style.css
+++ b/layouts/v7/skins/marketing/style.css
@@ -102,7 +102,6 @@ body {
 @media (min-width: 992px) {
   .global-nav .logo-container {
     display: inline-block;
-    width: 150px;
     z-index: 2;
     padding-left: 6%;
     margin-top: 1px;
@@ -199,14 +198,13 @@ body {
 }
 .company-logo {
   height: 40px;
-  width: 150px;
   margin: 0 0;
   display: inline-block;
   margin-left: 1px;
 }
 .company-logo img {
   height: 100%;
-  width: auto;
+  width: 100%;
 }
 .navbar .fa {
   font-size: 15px;
@@ -277,13 +275,11 @@ body {
   }
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
 }
 @media (max-width: 991px) {
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
   .notificationMessageHolder {
     padding-left: 45%;
diff --git a/layouts/v7/skins/marketing_and_sales/style.css b/layouts/v7/skins/marketing_and_sales/style.css
index f07eaabfcb855d9781e2a1a8b22bb42e12fe0102..a5f0c0a9db2cac89c2570968d5d75cf27db596ae 100644
--- a/layouts/v7/skins/marketing_and_sales/style.css
+++ b/layouts/v7/skins/marketing_and_sales/style.css
@@ -102,7 +102,6 @@ body {
 @media (min-width: 992px) {
   .global-nav .logo-container {
     display: inline-block;
-    width: 150px;
     z-index: 2;
     padding-left: 6%;
     margin-top: 1px;
@@ -199,14 +198,13 @@ body {
 }
 .company-logo {
   height: 40px;
-  width: 150px;
   margin: 0 0;
   display: inline-block;
   margin-left: 1px;
 }
 .company-logo img {
   height: 100%;
-  width: auto;
+  width: 100%;
 }
 .navbar .fa {
   font-size: 15px;
@@ -277,13 +275,11 @@ body {
   }
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
 }
 @media (max-width: 991px) {
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
   .notificationMessageHolder {
     padding-left: 45%;
diff --git a/layouts/v7/skins/project/style.css b/layouts/v7/skins/project/style.css
index 75699fa8e027b06f990dbcaf033be4942a54e2a1..d8095aa5da7e982a2d7acad7f34c1d32a43dcee2 100644
--- a/layouts/v7/skins/project/style.css
+++ b/layouts/v7/skins/project/style.css
@@ -102,7 +102,6 @@ body {
 @media (min-width: 992px) {
   .global-nav .logo-container {
     display: inline-block;
-    width: 150px;
     z-index: 2;
     padding-left: 6%;
     margin-top: 1px;
@@ -199,14 +198,13 @@ body {
 }
 .company-logo {
   height: 40px;
-  width: 150px;
   margin: 0 0;
   display: inline-block;
   margin-left: 1px;
 }
 .company-logo img {
   height: 100%;
-  width: auto;
+  width: 100%;
 }
 .navbar .fa {
   font-size: 15px;
@@ -277,13 +275,11 @@ body {
   }
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
 }
 @media (max-width: 991px) {
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
   .notificationMessageHolder {
     padding-left: 45%;
diff --git a/layouts/v7/skins/sales/style.css b/layouts/v7/skins/sales/style.css
index 4131e8604a87babb580108e54a0c3dd761b12fe7..b8b4f520defc060b6f59c10028a51a7c864e8cf3 100644
--- a/layouts/v7/skins/sales/style.css
+++ b/layouts/v7/skins/sales/style.css
@@ -102,7 +102,6 @@ body {
 @media (min-width: 992px) {
   .global-nav .logo-container {
     display: inline-block;
-    width: 150px;
     z-index: 2;
     padding-left: 6%;
     margin-top: 1px;
@@ -199,14 +198,13 @@ body {
 }
 .company-logo {
   height: 40px;
-  width: 150px;
   margin: 0 0;
   display: inline-block;
   margin-left: 1px;
 }
 .company-logo img {
   height: 100%;
-  width: auto;
+  width: 100%;
 }
 .navbar .fa {
   font-size: 15px;
@@ -277,13 +275,11 @@ body {
   }
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
 }
 @media (max-width: 991px) {
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
   .notificationMessageHolder {
     padding-left: 45%;
diff --git a/layouts/v7/skins/support/style.css b/layouts/v7/skins/support/style.css
index 666fef33377d6ff3dfbac0fb942e5c89fe06f0b3..311824fc876aa5dd24e190ab4b43619457470036 100644
--- a/layouts/v7/skins/support/style.css
+++ b/layouts/v7/skins/support/style.css
@@ -102,7 +102,6 @@ body {
 @media (min-width: 992px) {
   .global-nav .logo-container {
     display: inline-block;
-    width: 150px;
     z-index: 2;
     padding-left: 6%;
     margin-top: 1px;
@@ -199,14 +198,13 @@ body {
 }
 .company-logo {
   height: 40px;
-  width: 150px;
   margin: 0 0;
   display: inline-block;
   margin-left: 1px;
 }
 .company-logo img {
   height: 100%;
-  width: auto;
+  width: 100%;
 }
 .navbar .fa {
   font-size: 15px;
@@ -277,13 +275,11 @@ body {
   }
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
 }
 @media (max-width: 991px) {
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
   .notificationMessageHolder {
     padding-left: 45%;
diff --git a/layouts/v7/skins/tools/style.css b/layouts/v7/skins/tools/style.css
index d728210868e0203ac86287ad3c166d9120625bd3..293fbd4a658b6fc14c728944e6a6bada0f54bb28 100644
--- a/layouts/v7/skins/tools/style.css
+++ b/layouts/v7/skins/tools/style.css
@@ -102,7 +102,6 @@ body {
 @media (min-width: 992px) {
   .global-nav .logo-container {
     display: inline-block;
-    width: 150px;
     z-index: 2;
     padding-left: 6%;
     margin-top: 1px;
@@ -199,14 +198,13 @@ body {
 }
 .company-logo {
   height: 40px;
-  width: 150px;
   margin: 0 0;
   display: inline-block;
   margin-left: 1px;
 }
 .company-logo img {
   height: 100%;
-  width: auto;
+  width: 100%;
 }
 .navbar .fa {
   font-size: 15px;
@@ -277,13 +275,11 @@ body {
   }
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
 }
 @media (max-width: 991px) {
   .global-nav .logo-container {
     border-bottom: 0;
-    width: 150px;
   }
   .notificationMessageHolder {
     padding-left: 45%;
diff --git a/libraries/nusoap/nusoap.php b/libraries/nusoap/nusoap.php
index 3a92d51e028497328377b3688d99532c0461164d..ca18d858abebb492e580616961c0052d4caaa8d9 100644
--- a/libraries/nusoap/nusoap.php
+++ b/libraries/nusoap/nusoap.php
@@ -59,7 +59,7 @@ if (!isset($GLOBALS['_transient']['static']['nusoap_base'])) {
 
 $GLOBALS['_transient']['static']['nusoap_base']->globalDebugLevel = 9;
 global $soap_log;
-$soap_log =& LoggerManager::getLogger('SOAP');
+$soap_log = LoggerManager::getLogger('SOAP');
 /**
 *
 * nusoap_base
@@ -4726,7 +4726,7 @@ class wsdl extends nusoap_base {
 		if (isset($this->schemas[$ns])) {
 			$this->debug("in getTypeDef: have schema for namespace $ns");
 			for ($i = 0; $i < count($this->schemas[$ns]); $i++) {
-				$xs = &$this->schemas[$ns][$i];
+				$xs = $this->schemas[$ns][$i];
 				$t = $xs->getTypeDef($type);
 				$this->appendDebug($xs->getDebug());
 				$xs->clearDebug();
@@ -6128,7 +6128,7 @@ class soap_parser extends nusoap_base {
 				// add placeholder to href array
 				$this->multirefs[$id][$pos] = 'placeholder';
 				// add set a reference to it as the result value
-				$this->message[$pos]['result'] =& $this->multirefs[$id][$pos];
+				$this->message[$pos]['result'] = $this->multirefs[$id][$pos];
             // build complexType values
 			} elseif($this->message[$pos]['children'] != ''){
 				// if result has already been generated (struct/array)
@@ -6330,14 +6330,14 @@ class soap_parser extends nusoap_base {
 			} elseif($this->message[$pos]['type'] == 'array' || $this->message[$pos]['type'] == 'Array'){
                 $this->debug('in buildVal, adding array '.$this->message[$pos]['name']);
                 foreach($children as $child_pos){
-                	$params[] = &$this->message[$child_pos]['result'];
+                	$params[] = $this->message[$child_pos]['result'];
                 }
             // apache Map type: java hashtable
             } elseif($this->message[$pos]['type'] == 'Map' && $this->message[$pos]['type_namespace'] == 'http://xml.apache.org/xml-soap'){
                 $this->debug('in buildVal, Java Map '.$this->message[$pos]['name']);
                 foreach($children as $child_pos){
                 	$kv = explode("|",$this->message[$child_pos]['children']);
-                   	$params[$this->message[$kv[1]]['result']] = &$this->message[$kv[2]]['result'];
+                   	$params[$this->message[$kv[1]]['result']] = $this->message[$kv[2]]['result'];
                 }
             // generic compound type
             //} elseif($this->message[$pos]['type'] == 'SOAPStruct' || $this->message[$pos]['type'] == 'struct') {
@@ -6352,16 +6352,16 @@ class soap_parser extends nusoap_base {
             	//
             	foreach($children as $child_pos){
             		if($notstruct){
-            			$params[] = &$this->message[$child_pos]['result'];
+            			$params[] = $this->message[$child_pos]['result'];
             		} else {
             			if (isset($params[$this->message[$child_pos]['name']])) {
             				// de-serialize repeated element name into an array
             				if ((!is_array($params[$this->message[$child_pos]['name']])) || (!isset($params[$this->message[$child_pos]['name']][0]))) {
             					$params[$this->message[$child_pos]['name']] = array($params[$this->message[$child_pos]['name']]);
             				}
-            				$params[$this->message[$child_pos]['name']][] = &$this->message[$child_pos]['result'];
+            				$params[$this->message[$child_pos]['name']][] = $this->message[$child_pos]['result'];
             			} else {
-					    	$params[$this->message[$child_pos]['name']] = &$this->message[$child_pos]['result'];
+					    	$params[$this->message[$child_pos]['name']] = $this->message[$child_pos]['result'];
 					    }
                 	}
                 }
@@ -6516,7 +6516,7 @@ class soapclient2 extends nusoap_base  {
 				
 				// instantiate wsdl object and parse wsdl file
 				$this->debug('instantiating wsdl class with doc: '.$endpoint);
-				$this->wsdl =& new wsdl($this->wsdlFile,$this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword,$this->timeout,$this->response_timeout);
+				$this->wsdl = new wsdl($this->wsdlFile,$this->proxyhost,$this->proxyport,$this->proxyusername,$this->proxypassword,$this->timeout,$this->response_timeout);
 			}
 			$this->appendDebug($this->wsdl->getDebug());
 			$this->wsdl->clearDebug();
@@ -6767,7 +6767,7 @@ class soapclient2 extends nusoap_base  {
 			case ereg('^http',$this->endpoint):
 				$this->debug('transporting via HTTP');
 				if($this->persistentConnection == true && is_object($this->persistentConnection)){
-					$http =& $this->persistentConnection;
+					$http = $this->persistentConnection;
 				} else {
 					$http = new soap_transport_http($this->endpoint);
 					if ($this->persistentConnection) {
diff --git a/modules/Calendar/models/Module.php b/modules/Calendar/models/Module.php
index 301b21cc8b22f8eb97cb43961ec30d9ada8a5b72..f355e427b91c5355237794793e1204524ac13919 100644
--- a/modules/Calendar/models/Module.php
+++ b/modules/Calendar/models/Module.php
@@ -46,7 +46,7 @@ class Calendar_Module_Model extends Vtiger_Module_Model {
 	 * @return <String>
 	 */
 	public function getCalendarViewUrl() {
-		return 'index.php?module='.$this->get('name').'&view='.$this->getCalendarViewName();
+		return 'index.php?module='.$this->get('name').'&view=Calendar';
 	}
 
 	/**
diff --git a/modules/Install/models/Utils.php b/modules/Install/models/Utils.php
index 5e6e22d8b1e5d1e133d62633171bcc4107bc0464..1307398636b83a13ba070e508c33de7a82205450 100644
--- a/modules/Install/models/Utils.php
+++ b/modules/Install/models/Utils.php
@@ -102,7 +102,7 @@ class Install_Utils_Model {
 		'memory_limit' => '32',
 		'error_reporting' => 'E_WARNING & ~E_NOTICE',
 		'log_errors' => 'Off',
-		'short_open_tag' => 'On'
+		'short_open_tag' => 'Off'
 	);
 
 	/**
diff --git a/modules/Settings/MailConverter/models/Record.php b/modules/Settings/MailConverter/models/Record.php
index 43ec6f8d4021c92d3df94dca20bd65437eac4335..da6ce6b6be5cf7e0919f832942537931b720e60b 100644
--- a/modules/Settings/MailConverter/models/Record.php
+++ b/modules/Settings/MailConverter/models/Record.php
@@ -328,7 +328,7 @@ class Settings_MailConverter_Record_Model extends Settings_Vtiger_Record_Model {
 	 */
 	public static function getInstanceById($recordId) {
 		$db = PearDatabase::getInstance();
-		$result = $db->pquery('SELECT * FROM vtiger_mailscanner WHERE scannerid = ', array($recordId));
+		$result = $db->pquery('SELECT * FROM vtiger_mailscanner WHERE scannerid = ?', array($recordId));
 		if ($db->num_rows($result)) {
 			$recordModel = self::getCleanInstance();
 			$recordModel->setData($db->query_result_rowdata($result));
diff --git a/modules/Settings/MailConverter/models/RuleRecord.php b/modules/Settings/MailConverter/models/RuleRecord.php
index b1fce72e72675b1c9440b2ec8e8e9037adc4a018..443578f1344c92e3da1e394aadb926d96b83781d 100644
--- a/modules/Settings/MailConverter/models/RuleRecord.php
+++ b/modules/Settings/MailConverter/models/RuleRecord.php
@@ -180,7 +180,7 @@ class Settings_MailConverter_RuleRecord_Model extends Settings_Vtiger_Record_Mod
 	 */
 	public static function getInstanceById($recordId) {
 		$db = PearDatabase::getInstance();
-		$result = $db->pquery('SELECT * FROM vtiger_mailscanner_rules WHERE ruleid = ', array($recordId));
+		$result = $db->pquery('SELECT * FROM vtiger_mailscanner_rules WHERE ruleid = ?', array($recordId));
 		if ($db->num_rows($result)) {
 			$recordModel = new self();
 			$recordModel->setData($db->query_result_rowdata($result));
diff --git a/modules/Settings/Workflows/models/Field.php b/modules/Settings/Workflows/models/Field.php
index 9949b0b8df787c52647f63b0b09305ac1a3d5692..17ce3c22267637636752a660e84d2089174280bb 100644
--- a/modules/Settings/Workflows/models/Field.php
+++ b/modules/Settings/Workflows/models/Field.php
@@ -16,27 +16,42 @@ class Settings_Workflows_Field_Model extends Vtiger_Field_Model {
 	 */
 	public static function getAdvancedFilterOptions() {
 		return array(
-			'is' => 'is',
-			'contains' => 'contains',
-			'does not contain' => 'does not contain',
-			'starts with' => 'starts with',
-			'ends with' => 'ends with',
-			'has changed' => 'has changed',
-			'has changed to' => 'has changed to',
-			'is empty' => 'is empty',
-			'is not empty' => 'is not empty',
-			'less than' => 'less than',
-			'greater than' => 'greater than',
-			'does not equal' => 'does not equal',
-			'less than or equal to' => 'less than or equal to',
-			'greater than or equal to' => 'greater than or equal to',
-			'has changed' => 'has changed',
-            'has changed to' => 'has changed to',
-            'has changed from' => 'has changed from',
-			'before' => 'before',
-			'after' => 'after',
-			'between' => 'between',
-			'is added' => 'is added',
+			'is' => 'LBL_IS',
+			'contains' => 'LBL_CONTAINS',
+			'does not contain' => 'LBL_DOES_NOT_CONTAIN',
+			'starts with' => 'LBL_STARTS_WITH',
+			'ends with' => 'LBL_ENDS_WITH',
+			'has changed' => 'LBL_HAS_CHANGED',
+			'has changed to' => 'LBL_HAS_CHANGED_TO',
+			'is empty' => 'LBL_IS_EMPTY',
+			'is not empty' => 'LBL_IS_NOT_EMPTY',
+			'less than' => 'LBL_LESS_THAN',
+			'greater than' => 'LBL_GREATER_THAN',
+			'does not equal' => 'LBL_NOT_EQUAL_TO',
+			'less than or equal to' => 'LBL_LESS_THAN_OR_EQUAL_TO',
+			'greater than or equal to' => 'LBL_GREATER_THAN_OR_EQUAL_TO',
+			'has changed from' => 'LBL_HAS_CHANGED_FROM',
+			'before' => 'LBL_BEFORE',
+			'after' => 'LBL_AFTER',
+			'between' => 'LBL_BETWEEN',
+			'is added' => 'LBL_IS_ADDED',
+			'equal to' => 'LBL_EQUALS',
+			'is not' => 'LBL_IS_NOT',
+			'is today' => 'LBL_IS_TODAY',
+			'is tomorrow' => 'LBL_IS_TOMORROW',
+			'is yesterday' => 'LBL_IS_YESTERDAY',
+			'less than hours before' => 'LBL_LESS_THAN_HOURS_BEFORE',
+			'less than hours later' => 'LBL_LESS_THAN_HOURS_LATER',
+			'more than hours before' => 'LBL_MORE_THAN_HOURS_BEFORE',
+			'more than hours later' => 'LBL_MORE_THAN_HOURS_LATER',
+			'less than days ago' => 'LBL_LESS_THAN_DAYS_AGO',
+			'less than days later' => 'LBL_LESS_THAN_DAYS_LATER',
+			'more than days ago' => 'LBL_MORE_THAN_DAYS_AGO',
+			'more than days later' => 'LBL_MORE_THAN_DAYS_LATER',
+			'days ago' => 'LBL_DAYS_AGO',
+			'days later' => 'LBL_DAYS_LATER',
+			'in less than' => 'LBL_IN_LESS_THAN',
+			'in more than' => 'LBL_IN_MORE_THAN',
 		);
 	}
 
diff --git a/modules/Vtiger/models/Field.php b/modules/Vtiger/models/Field.php
index d945cf920c759b271d84ee3219d734a4c48f2d01..c84a1483d590f5e09578da71ff3e8dd21ca33252 100644
--- a/modules/Vtiger/models/Field.php
+++ b/modules/Vtiger/models/Field.php
@@ -1329,7 +1329,7 @@ class Vtiger_Field_Model extends Vtiger_Field {
 				$picklistValues = $this->getPicklistValues();
 				$tableName = "vtiger_$fieldName";
 				if (Vtiger_Utils::CheckTable($tableName)) {
-					if (is_array($picklistValues)) {
+					if (is_array($picklistValues) && count($picklistValues)) {
 						$result = $db->pquery("SELECT $fieldName, color FROM $tableName WHERE $fieldName IN (".generateQuestionMarks($picklistValues).")", array_keys($picklistValues));
 						while ($row = $db->fetch_row($result)) {
 							$picklistColors[$row[$fieldName]] = $row['color'];
diff --git a/modules/Vtiger/uitypes/Double.php b/modules/Vtiger/uitypes/Double.php
index 74e19aa484edb7edc534b42a7435c10f2a2f92dd..7d9df554dc89a049894ee8e2a37f4e82455454f1 100644
--- a/modules/Vtiger/uitypes/Double.php
+++ b/modules/Vtiger/uitypes/Double.php
@@ -24,11 +24,7 @@ class Vtiger_Double_UIType extends Vtiger_Base_UIType {
 	 * @return <Object>
 	 */
 	public function getDisplayValue($value) {
-		$value = decimalFormat($value);
-		if ($value) {
-			$value = CurrencyField::convertToUserFormat($value, NULL, true);
-		}
-		return $value;
+		return decimalFormat($value);
 	}
 
 	/**
diff --git a/modules/Vtiger/views/Detail.php b/modules/Vtiger/views/Detail.php
index e3d668df0c610e4da3743401d5ab1bb1ebbbb8a4..2d478f277ed2f94339633fa7f59487445f267cf0 100644
--- a/modules/Vtiger/views/Detail.php
+++ b/modules/Vtiger/views/Detail.php
@@ -472,7 +472,7 @@ class Vtiger_Detail_View extends Vtiger_Index_View {
 
 		if($rollupsettings['rollup_status']) {
 			$parentRecordModel = Vtiger_Record_Model::getInstanceById($parentId, $moduleName);
-			$recentComments = $parentRecordModel->getRollupCommentsForModule(0, 5);
+			$recentComments = $parentRecordModel->getRollupCommentsForModule(0, 6);
 		}else {
 			$recentComments = ModComments_Record_Model::getRecentComments($parentId, $pagingModel);
 		}
diff --git a/packages/vtiger/optional/Arabic_ar_ae.zip b/packages/vtiger/optional/Arabic_ar_ae.zip
index d3e4b2de0541da0a314e5fa495b23b45b3d0a119..15edbcea83e28736ba25a2471d4f3e84fc01f1cd 100644
Binary files a/packages/vtiger/optional/Arabic_ar_ae.zip and b/packages/vtiger/optional/Arabic_ar_ae.zip differ
diff --git a/packages/vtiger/optional/BrazilianLanguagePack_bz_bz.zip b/packages/vtiger/optional/BrazilianLanguagePack_bz_bz.zip
index 2ae6d798fc4195ee34bddd309409595918e1e81e..47f14fa63ca103ccdee06f99724f9771ecc9a6c4 100644
Binary files a/packages/vtiger/optional/BrazilianLanguagePack_bz_bz.zip and b/packages/vtiger/optional/BrazilianLanguagePack_bz_bz.zip differ
diff --git a/packages/vtiger/optional/BritishLanguagePack_br_br.zip b/packages/vtiger/optional/BritishLanguagePack_br_br.zip
index a8e0800eecc00e7e6a9f61b98ab851e121fed5de..b9126c8f881774df40f737a573cf750e807cb570 100644
Binary files a/packages/vtiger/optional/BritishLanguagePack_br_br.zip and b/packages/vtiger/optional/BritishLanguagePack_br_br.zip differ
diff --git a/packages/vtiger/optional/Deutsch.zip b/packages/vtiger/optional/Deutsch.zip
index a3904bd4cc64f0239d99bab7378c22bf7242de1d..ef9e8608f499cbcce54200ee7708985324ea611c 100644
Binary files a/packages/vtiger/optional/Deutsch.zip and b/packages/vtiger/optional/Deutsch.zip differ
diff --git a/packages/vtiger/optional/Dutch.zip b/packages/vtiger/optional/Dutch.zip
index 2f9d6be7f922de4883be759c687325ad67cf7cd1..1bd0294e1e6fe4465ac63c44661d792fc7584599 100644
Binary files a/packages/vtiger/optional/Dutch.zip and b/packages/vtiger/optional/Dutch.zip differ
diff --git a/packages/vtiger/optional/EmailTemplates.zip b/packages/vtiger/optional/EmailTemplates.zip
index ad957e64a0cb1c1ff6f391ae106446f740f8439c..0bee21439a0e6d55472be6e90e48ef464bc77a24 100644
Binary files a/packages/vtiger/optional/EmailTemplates.zip and b/packages/vtiger/optional/EmailTemplates.zip differ
diff --git a/packages/vtiger/optional/French.zip b/packages/vtiger/optional/French.zip
index 1ebbd10616c0764ce7e63ca44c4a713658f29b1b..19837c9be08f0bc75727466e149d282ad7de47c0 100644
Binary files a/packages/vtiger/optional/French.zip and b/packages/vtiger/optional/French.zip differ
diff --git a/packages/vtiger/optional/Hungarian.zip b/packages/vtiger/optional/Hungarian.zip
index 5b5fbbf8eab6b2af11d1d7f2777dbb65f26db630..12786b6fd74431b34cb4361fe5d0a5d45c52d04e 100644
Binary files a/packages/vtiger/optional/Hungarian.zip and b/packages/vtiger/optional/Hungarian.zip differ
diff --git a/packages/vtiger/optional/ItalianLanguagePack_it_it.zip b/packages/vtiger/optional/ItalianLanguagePack_it_it.zip
index 427358969d32c2097576923d43bb631444388d73..950da3ae2263d782a10a8075a52d2ae517534a67 100644
Binary files a/packages/vtiger/optional/ItalianLanguagePack_it_it.zip and b/packages/vtiger/optional/ItalianLanguagePack_it_it.zip differ
diff --git a/packages/vtiger/optional/MexicanSpanishLanguagePack_es_mx.zip b/packages/vtiger/optional/MexicanSpanishLanguagePack_es_mx.zip
index 1a0fc61dd0ac912603d861ecab2e0d1014fbfcb8..55ae70b422d95006cce2017c3227d4b1f979bd7a 100644
Binary files a/packages/vtiger/optional/MexicanSpanishLanguagePack_es_mx.zip and b/packages/vtiger/optional/MexicanSpanishLanguagePack_es_mx.zip differ
diff --git a/packages/vtiger/optional/PolishLanguagePack_pl_pl.zip b/packages/vtiger/optional/PolishLanguagePack_pl_pl.zip
index 7f299f6d188a25ad214367906b9f2713a5bc8ec9..b41c0d1d14fa21937d1d2124933669209c9123c9 100644
Binary files a/packages/vtiger/optional/PolishLanguagePack_pl_pl.zip and b/packages/vtiger/optional/PolishLanguagePack_pl_pl.zip differ
diff --git a/packages/vtiger/optional/RomanianLanguagePack_rm_rm.zip b/packages/vtiger/optional/RomanianLanguagePack_rm_rm.zip
index 659298c5261042a4eb14f59c9954e1fcdab830b6..252f82ac9551d2779fcad3a4edb50c050ec43771 100644
Binary files a/packages/vtiger/optional/RomanianLanguagePack_rm_rm.zip and b/packages/vtiger/optional/RomanianLanguagePack_rm_rm.zip differ
diff --git a/packages/vtiger/optional/Russian.zip b/packages/vtiger/optional/Russian.zip
index f0e4234a8ad6978012ce9677a70389cad03a8063..c8578dd2c68b1ef3ceb7b3597003991d0f46edfb 100644
Binary files a/packages/vtiger/optional/Russian.zip and b/packages/vtiger/optional/Russian.zip differ
diff --git a/packages/vtiger/optional/Spanish.zip b/packages/vtiger/optional/Spanish.zip
index a76c8bd3a5495754d2214ca5ea636a45897d0c00..71f2fd9c92068f07a5d3f7195910b6cad17651fb 100644
Binary files a/packages/vtiger/optional/Spanish.zip and b/packages/vtiger/optional/Spanish.zip differ
diff --git a/packages/vtiger/optional/Sweden_sv_se.zip b/packages/vtiger/optional/Sweden_sv_se.zip
index 7c23bbbf577ca5a61248b367697eaf17a3d9d901..e00b591910f8d9e879faf9b4445a138bdc1d4bee 100644
Binary files a/packages/vtiger/optional/Sweden_sv_se.zip and b/packages/vtiger/optional/Sweden_sv_se.zip differ
diff --git a/packages/vtiger/optional/TurkishLanguagePack_tr_tr.zip b/packages/vtiger/optional/TurkishLanguagePack_tr_tr.zip
index c1d1f3e2ee9022488031a63e5359bd6af299d61d..7ca481033386f392bfab83918b7ebfef65b053b1 100644
Binary files a/packages/vtiger/optional/TurkishLanguagePack_tr_tr.zip and b/packages/vtiger/optional/TurkishLanguagePack_tr_tr.zip differ
diff --git a/packages/vtiger/optional/Webforms.zip b/packages/vtiger/optional/Webforms.zip
index 1dcfae20be63ad8376af5ce2c4a9e25195f90d9d..94d6b2532695916a7c86aa694ddf3332c31d01d5 100644
Binary files a/packages/vtiger/optional/Webforms.zip and b/packages/vtiger/optional/Webforms.zip differ
diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Save.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Save.php
index 4085157c5fee95a499e261ae6182a30ec360e5f8..e208d1b96ac802f9396b03fadbe16c41ad52af7a 100644
--- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Save.php
+++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/actions/Save.php
@@ -55,8 +55,8 @@ class EmailTemplates_Save_Action extends Vtiger_Save_Action {
 			} else {
 				$loadUrl = $recordModel->getDetailViewUrl();
 			}
-			header("Location: $loadUrl");
 		}
+		header("Location: $loadUrl");
 	}
 
 }
diff --git a/pkg/vtiger/modules/Webforms/layouts/v7/modules/Settings/Webforms/ShowForm.tpl b/pkg/vtiger/modules/Webforms/layouts/v7/modules/Settings/Webforms/ShowForm.tpl
index 7a7e48fd22389404aff2b657d5c5c836adbc4373..dd1e90a4b36e7bff707f6b36a5088874eec9c08f 100644
--- a/pkg/vtiger/modules/Webforms/layouts/v7/modules/Settings/Webforms/ShowForm.tpl
+++ b/pkg/vtiger/modules/Webforms/layouts/v7/modules/Settings/Webforms/ShowForm.tpl
@@ -9,7 +9,7 @@
 *
 ********************************************************************************/
 -->*}
-<div class="modal-dialog modelContainer">  
+<div class="modal-dialog modelContainer modal-content">  
     {assign var=HEADER_TITLE value={vtranslate('SINGLE_'|cat:$MODULE, $QUALIFIED_MODULE)}|cat:" - "|cat:{$RECORD_MODEL->get('name')}}
     {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
 
diff --git a/pkg/vtiger/translations/Arabic_ar_ae/modules/Vtiger.php b/pkg/vtiger/translations/Arabic_ar_ae/modules/Vtiger.php
index 8c04eaa102c4eefe337ec8e917ea5d4040e9dbcd..7a0f7080938608489423b2c2425089ee62717ce2 100644
--- a/pkg/vtiger/translations/Arabic_ar_ae/modules/Vtiger.php
+++ b/pkg/vtiger/translations/Arabic_ar_ae/modules/Vtiger.php
@@ -199,6 +199,18 @@ $languageStrings = array(
 	'LBL_OR' => 'او',
 	'LBL_NONE' => 'لاشئ',
 	'LBL_APPROVE' => 'موافق عليه',
+	'LBL_HAS_CHANGED' => 'تغير',
+	'LBL_HAS_CHANGED_TO' => 'تغيرت ل',
+	'LBL_HAS_CHANGED_FROM' => 'قد تغير من',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'اقل او يساوي',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'أكبر من أو يساوي',
+	'LBL_IS_NOT' => 'ليس',
+	'LBL_IS_ADDED' => 'يضاف',
+	'LBL_IS_TODAY' => 'اليوم',
+	'LBL_IS_TOMORROW' => 'غدا',
+	'LBL_IS_YESTERDAY' => 'هو أمس',
+	'LBL_LESS_THAN_DAYS_LATER' => 'بعد أقل من يوم',
+	'LBL_MORE_THAN_DAYS_LATER' => 'بعد مرور أكثر من أيام',
 	'LBL_DENY' => 'مرفوض',
 	'LBL_EQUALS' => 'يساوي',
 	'LBL_NOT_EQUAL_TO' => 'لا يساوي',
diff --git a/pkg/vtiger/translations/BrazilianLanguagePack_bz_bz/modules/Vtiger.php b/pkg/vtiger/translations/BrazilianLanguagePack_bz_bz/modules/Vtiger.php
index 30d1b07a2f052c72d22857f5047513938cb0b152..4690eb69636f88a0da6273670427ad7ff9a25080 100644
--- a/pkg/vtiger/translations/BrazilianLanguagePack_bz_bz/modules/Vtiger.php
+++ b/pkg/vtiger/translations/BrazilianLanguagePack_bz_bz/modules/Vtiger.php
@@ -161,6 +161,18 @@ $languageStrings = array(
 	'LBL_OR'                       => 'ou'                          ,
 	'LBL_NONE'                     => '--Nada--'                    ,
 	'LBL_APPROVE'                  => 'Approve'                     ,
+	'LBL_HAS_CHANGED' => 'mudou',
+	'LBL_HAS_CHANGED_TO' => 'mudou para',
+	'LBL_HAS_CHANGED_FROM' => 'foi alterado de',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'menos que ou igual a',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'maior do que ou igual a',
+	'LBL_IS_NOT' => 'não é',
+	'LBL_IS_ADDED' => 'Está adicionado',
+	'LBL_IS_TODAY' => 'é hoje',
+	'LBL_IS_TOMORROW' => 'é amanhã',
+	'LBL_IS_YESTERDAY' => 'é ontem',
+	'LBL_LESS_THAN_DAYS_LATER' => 'menos dias depois',
+	'LBL_MORE_THAN_DAYS_LATER' => 'mais do que dias depois',
 	'LBL_DENY'                     => 'Deny'                        ,
 	'LBL_EQUALS'                   => 'equals'                      ,
 	'LBL_NOT_EQUAL_TO'             => 'not equal to'                ,
diff --git a/pkg/vtiger/translations/BritishLanguagePack_br_br/modules/Vtiger.php b/pkg/vtiger/translations/BritishLanguagePack_br_br/modules/Vtiger.php
index fb4d8944d104bac4cffa1fc411d6d7db7ce4ea85..52c33fd77cb77b9ec3eb58cba7b231c05223aedc 100644
--- a/pkg/vtiger/translations/BritishLanguagePack_br_br/modules/Vtiger.php
+++ b/pkg/vtiger/translations/BritishLanguagePack_br_br/modules/Vtiger.php
@@ -161,6 +161,18 @@ $languageStrings = array(
 	'LBL_OR'                       => 'or'                          ,
 	'LBL_NONE'                     => '--None--'                    ,
 	'LBL_APPROVE'                  => 'Approve'                     ,
+	'LBL_HAS_CHANGED' => 'has changed',
+	'LBL_HAS_CHANGED_TO' => 'has changed to',
+	'LBL_HAS_CHANGED_FROM' => 'has changed from',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'less than or equal to',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'greater than or equal to',
+	'LBL_IS_NOT' => 'is not',
+	'LBL_IS_ADDED' => 'is added',
+	'LBL_IS_TODAY' => 'is today',
+	'LBL_IS_TOMORROW' => 'is tomorrow',
+	'LBL_IS_YESTERDAY' => 'is yesterday',
+	'LBL_LESS_THAN_DAYS_LATER' => 'less than days later',
+	'LBL_MORE_THAN_DAYS_LATER' => 'more than days later',
 	'LBL_DENY'                     => 'Deny'                        ,
 	'LBL_EQUALS'                   => 'equals'                      ,
 	'LBL_NOT_EQUAL_TO'             => 'not equal to'                ,
diff --git a/pkg/vtiger/translations/Deutsch/modules/Vtiger.php b/pkg/vtiger/translations/Deutsch/modules/Vtiger.php
index 3a63240e39d23e6acc1d26cea23cd1077fb64ebc..c4b372838ae1ca80f89685187a01e3216ebc7476 100644
--- a/pkg/vtiger/translations/Deutsch/modules/Vtiger.php
+++ b/pkg/vtiger/translations/Deutsch/modules/Vtiger.php
@@ -161,6 +161,18 @@ $languageStrings = array(
 	'LBL_OR'                       => 'oder'                        , 
 	'LBL_NONE'                     => '--keine--'                   , 
 	'LBL_APPROVE'                  => 'Approve'                     , 
+	'LBL_HAS_CHANGED' => 'hat sich verändert',
+	'LBL_HAS_CHANGED_TO' => 'hat sich geändert',
+	'LBL_HAS_CHANGED_FROM' => 'hat sich geändert von',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'Gleich oder kleiner als',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'größer als oder gleich wie',
+	'LBL_IS_NOT' => 'ist nicht',
+	'LBL_IS_ADDED' => 'hinzugefügt',
+	'LBL_IS_TODAY' => 'ist heute',
+	'LBL_IS_TOMORROW' => 'ist morgen',
+	'LBL_IS_YESTERDAY' => 'gestern ist',
+	'LBL_LESS_THAN_DAYS_LATER' => 'weniger als Tage später',
+	'LBL_MORE_THAN_DAYS_LATER' => 'mehr als Tage später',
 	'LBL_DENY'                     => 'Deny'                        , 
 	'LBL_EQUALS'                   => 'equals'                      , 
 	'LBL_NOT_EQUAL_TO'             => 'not equal to'                , 
diff --git a/pkg/vtiger/translations/Dutch/modules/Vtiger.php b/pkg/vtiger/translations/Dutch/modules/Vtiger.php
index 376fe42c311cefb1058149698766727c5ac7e8a0..036f6ccdb31ebefda3b8c527f0278dd4fe2fb128 100644
--- a/pkg/vtiger/translations/Dutch/modules/Vtiger.php
+++ b/pkg/vtiger/translations/Dutch/modules/Vtiger.php
@@ -161,6 +161,18 @@ $languageStrings = array(
 	'LBL_OR'                       => 'of'                          , 
 	'LBL_NONE'                     => '--Geen--'                    , 
 	'LBL_APPROVE'                  => 'Goedkeuren'                  , 
+	'LBL_HAS_CHANGED' => 'is veranderd',
+	'LBL_HAS_CHANGED_TO' => 'is veranderd in',
+	'LBL_HAS_CHANGED_FROM' => 'is veranderd van',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'minder dan of gelijk aan',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'groter dan of gelijk aan',
+	'LBL_IS_NOT' => 'is niet',
+	'LBL_IS_ADDED' => 'is toegevoegd',
+	'LBL_IS_TODAY' => 'is vandaag',
+	'LBL_IS_TOMORROW' => 'is morgen',
+	'LBL_IS_YESTERDAY' => 'is gisteren',
+	'LBL_LESS_THAN_DAYS_LATER' => 'minder dan dagen later',
+	'LBL_MORE_THAN_DAYS_LATER' => 'meer dan dagen later',
 	'LBL_DENY'                     => 'Afkeuren'                    , 
 	'LBL_EQUALS'                   => 'gelijk aan'                  , 
 	'LBL_NOT_EQUAL_TO'             => 'niet gelijk aan'             , 
diff --git a/pkg/vtiger/translations/French/modules/Vtiger.php b/pkg/vtiger/translations/French/modules/Vtiger.php
index 163d9ca8f1a39d9a14db867df23ea9807509fcdb..c8e70fa0d2938df633da437854a7bfc95da2469e 100644
--- a/pkg/vtiger/translations/French/modules/Vtiger.php
+++ b/pkg/vtiger/translations/French/modules/Vtiger.php
@@ -161,6 +161,18 @@ $languageStrings = array(
 	'LBL_OR'                       => 'Ou'                          , 
 	'LBL_NONE'                     => '--Aucun--'                   , 
 	'LBL_APPROVE'                  => 'Approve'                     , 
+	'LBL_HAS_CHANGED' => 'a changé',
+	'LBL_HAS_CHANGED_TO' => 'a changé',
+	'LBL_HAS_CHANGED_FROM' => 'a changé de',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'inférieur ou égal à',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'Plus grand ou égal à',
+	'LBL_IS_NOT' => "n'est pas",
+	'LBL_IS_ADDED' => 'est ajouté',
+	'LBL_IS_TODAY' => "c'est aujourd'hui",
+	'LBL_IS_TOMORROW' => "c'est demain",
+	'LBL_IS_YESTERDAY' => 'est hier',
+	'LBL_LESS_THAN_DAYS_LATER' => 'moins de jours plus tard',
+	'LBL_MORE_THAN_DAYS_LATER' => 'plus de jours plus tard',
 	'LBL_DENY'                     => 'Deny'                        , 
 	'LBL_EQUALS'                   => 'equals'                      , 
 	'LBL_NOT_EQUAL_TO'             => 'not equal to'                , 
diff --git a/pkg/vtiger/translations/Hungarian/modules/Vtiger.php b/pkg/vtiger/translations/Hungarian/modules/Vtiger.php
index a6a2b7d53f044df24ef63efa38a493f078e4b8ad..1dbc08324d1be901aab5af5a64efcafc5a370db8 100644
--- a/pkg/vtiger/translations/Hungarian/modules/Vtiger.php
+++ b/pkg/vtiger/translations/Hungarian/modules/Vtiger.php
@@ -161,6 +161,18 @@ $languageStrings = array(
 	'LBL_OR'                       => 'vagy'                        ,
 	'LBL_NONE'                     => '--Semmi--'                   ,
 	'LBL_APPROVE'                  => 'Jóváhagy'                  ,
+	'LBL_HAS_CHANGED' => 'megváltozott',
+	'LBL_HAS_CHANGED_TO' => 'változott',
+	'LBL_HAS_CHANGED_FROM' => 'változott',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'kevesebb vagy egyenlő, mint',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'nagyobb vagy egyenlő, mint',
+	'LBL_IS_NOT' => 'nem',
+	'LBL_IS_ADDED' => 'hozzáadva',
+	'LBL_IS_TODAY' => 'ma van',
+	'LBL_IS_TOMORROW' => 'holnap lesz',
+	'LBL_IS_YESTERDAY' => 'a tegnapi',
+	'LBL_LESS_THAN_DAYS_LATER' => 'kevesebb, mint nappal később',
+	'LBL_MORE_THAN_DAYS_LATER' => 'Több mint nappal később',
 	'LBL_DENY'                     => 'Megtagad'                    ,
 	'LBL_EQUALS'                   => 'egyenlő ezzel'              ,
 	'LBL_NOT_EQUAL_TO'             => 'nem egyenlő ezzel'          ,
diff --git a/pkg/vtiger/translations/ItalianLanguagePack_it_it/modules/Vtiger.php b/pkg/vtiger/translations/ItalianLanguagePack_it_it/modules/Vtiger.php
index 4e32b74b8bd8aa69e67a91931219fc305992c511..57d578e18aec8a2ddd6e21ddf4d7f0267e8aaa47 100644
--- a/pkg/vtiger/translations/ItalianLanguagePack_it_it/modules/Vtiger.php
+++ b/pkg/vtiger/translations/ItalianLanguagePack_it_it/modules/Vtiger.php
@@ -161,6 +161,18 @@ $languageStrings = array(
 	'LBL_OR'                       => 'o'                           ,
 	'LBL_NONE'                     => '--Nessuno--'                 ,
 	'LBL_APPROVE'                  => 'Approve'                     ,
+	'LBL_HAS_CHANGED' => 'è cambiato',
+	'LBL_HAS_CHANGED_TO' => 'è cambiato a',
+	'LBL_HAS_CHANGED_FROM' => 'sono variate rispetto',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'minore o uguale a',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'maggiore o uguale a',
+	'LBL_IS_NOT' => 'non è',
+	'LBL_IS_ADDED' => 'è aggiunto',
+	'LBL_IS_TODAY' => 'è oggi',
+	'LBL_IS_TOMORROW' => 'è domani',
+	'LBL_IS_YESTERDAY' => 'è di ieri',
+	'LBL_LESS_THAN_DAYS_LATER' => 'meno di giorni più tardi',
+	'LBL_MORE_THAN_DAYS_LATER' => 'più di giorni più tardi',
 	'LBL_DENY'                     => 'Deny'                        ,
 	'LBL_EQUALS'                   => 'equals'                      ,
 	'LBL_NOT_EQUAL_TO'             => 'not equal to'                ,
diff --git a/pkg/vtiger/translations/MexicanSpanishLanguagePack_es_mx/modules/Vtiger.php b/pkg/vtiger/translations/MexicanSpanishLanguagePack_es_mx/modules/Vtiger.php
index 6b37679eeae77232e0f4e1e9bb5df37c4bb78b5d..f55c2e13ec931b2e9a42f808856e0addf4fe3617 100644
--- a/pkg/vtiger/translations/MexicanSpanishLanguagePack_es_mx/modules/Vtiger.php
+++ b/pkg/vtiger/translations/MexicanSpanishLanguagePack_es_mx/modules/Vtiger.php
@@ -162,6 +162,18 @@ $languageStrings = array(
 	'LBL_OR'                       => 'o'                           ,
 	'LBL_NONE'                     => '-Ninguno-'                   ,
 	'LBL_APPROVE'                  => 'Aprobar'                     ,
+	'LBL_HAS_CHANGED' => 'ha cambiado',
+	'LBL_HAS_CHANGED_TO' => 'ha cambiado a',
+	'LBL_HAS_CHANGED_FROM' => 'ha cambiado desde',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'Menos que o igual a',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'Mayor qué o igual a',
+	'LBL_IS_NOT' => 'no es',
+	'LBL_IS_ADDED' => 'está agregado',
+	'LBL_IS_TODAY' => 'es hoy',
+	'LBL_IS_TOMORROW' => 'Es mañana',
+	'LBL_IS_YESTERDAY' => 'es ayer',
+	'LBL_LESS_THAN_DAYS_LATER' => 'menos de días más tarde',
+	'LBL_MORE_THAN_DAYS_LATER' => 'más de días más tarde',
 	'LBL_DENY'                     => 'Denegar'                     ,
 	'LBL_EQUALS'                   => 'Igual a '                    ,
 	'LBL_NOT_EQUAL_TO'             => 'No igual a'                  ,
diff --git a/pkg/vtiger/translations/PolishLanguagePack_pl_pl/modules/Vtiger.php b/pkg/vtiger/translations/PolishLanguagePack_pl_pl/modules/Vtiger.php
index 991b8c9d5d4424d6e0b9e755bc57b7c3fcff715c..c8d020dcfa4194f2938e53891fce15c1176fb34c 100644
--- a/pkg/vtiger/translations/PolishLanguagePack_pl_pl/modules/Vtiger.php
+++ b/pkg/vtiger/translations/PolishLanguagePack_pl_pl/modules/Vtiger.php
@@ -174,6 +174,18 @@ $languageStrings = array(
 	'LBL_OR' => 'lub',
 	'LBL_NONE' => 'żaden',
 	'LBL_APPROVE' => 'zaakceptowany',
+	'LBL_HAS_CHANGED' => 'zmienił się',
+	'LBL_HAS_CHANGED_TO' => 'zmienił się',
+	'LBL_HAS_CHANGED_FROM' => 'zmieniła się od',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'mniejszy lub równy',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'większe bądź równe',
+	'LBL_IS_NOT' => 'nie jest',
+	'LBL_IS_ADDED' => 'jest dodany',
+	'LBL_IS_TODAY' => 'jest dzisiaj',
+	'LBL_IS_TOMORROW' => 'jutro',
+	'LBL_IS_YESTERDAY' => 'to wczoraj',
+	'LBL_LESS_THAN_DAYS_LATER' => 'mniej niż dzień później',
+	'LBL_MORE_THAN_DAYS_LATER' => 'więcej niż dzień później',
 	'LBL_DENY' => 'zabroniony',
 	'LBL_EQUALS' => 'taniej',
 	'LBL_NOT_EQUAL_TO' => 'niewystarczajÄ…co',
diff --git a/pkg/vtiger/translations/RomanianLanguagePack_rm_rm/modules/Vtiger.php b/pkg/vtiger/translations/RomanianLanguagePack_rm_rm/modules/Vtiger.php
index 28bff024cd99fbff44fb674c1864df3dfd56a806..cf494780b514b89e3435df600581876614d9af02 100644
--- a/pkg/vtiger/translations/RomanianLanguagePack_rm_rm/modules/Vtiger.php
+++ b/pkg/vtiger/translations/RomanianLanguagePack_rm_rm/modules/Vtiger.php
@@ -161,6 +161,18 @@ $languageStrings = array(
 	'LBL_OR'                       => 'sau'                         ,
 	'LBL_NONE'                     => '--Nimic--'                   ,
 	'LBL_APPROVE'                  => 'Approve'                     ,
+	'LBL_HAS_CHANGED' => 's-a schimbat',
+	'LBL_HAS_CHANGED_TO' => 'sa schimbat la',
+	'LBL_HAS_CHANGED_FROM' => 'sa schimbat de la',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'mai mică sau egală cu',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'mai mare sau egal cu',
+	'LBL_IS_NOT' => 'nu este',
+	'LBL_IS_ADDED' => 'e adăugat',
+	'LBL_IS_TODAY' => 'este azi',
+	'LBL_IS_TOMORROW' => 'este mâine',
+	'LBL_IS_YESTERDAY' => 'este ieri',
+	'LBL_LESS_THAN_DAYS_LATER' => 'mai puțin de zile mai târziu',
+	'LBL_MORE_THAN_DAYS_LATER' => 'mai mult de zile mai târziu',
 	'LBL_DENY'                     => 'Deny'                        ,
 	'LBL_EQUALS'                   => 'equals'                      ,
 	'LBL_NOT_EQUAL_TO'             => 'not equal to'                ,
diff --git a/pkg/vtiger/translations/Russian/modules/Vtiger.php b/pkg/vtiger/translations/Russian/modules/Vtiger.php
index 075b88c74c8bd9a5e24ac60f10c2a7935f7bff0d..0ecd87e86cd57ab8574a7ccacf5b48151625188a 100644
--- a/pkg/vtiger/translations/Russian/modules/Vtiger.php
+++ b/pkg/vtiger/translations/Russian/modules/Vtiger.php
@@ -162,6 +162,18 @@ $languageStrings = array(
 	'LBL_OR'                       => 'или'                      ,
 	'LBL_NONE'                     => '--нет--'                  ,
 	'LBL_APPROVE'                  => 'Утвердить'                     ,
+	'LBL_HAS_CHANGED' => 'изменился',
+	'LBL_HAS_CHANGED_TO' => 'изменилось в',
+	'LBL_HAS_CHANGED_FROM' => 'изменился с',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'меньше или равно',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'больше или равно',
+	'LBL_IS_NOT' => 'не является',
+	'LBL_IS_ADDED' => 'добавлен',
+	'LBL_IS_TODAY' => 'сегодня',
+	'LBL_IS_TOMORROW' => 'завтра',
+	'LBL_IS_YESTERDAY' => 'это вчера',
+	'LBL_LESS_THAN_DAYS_LATER' => 'менее дней',
+	'LBL_MORE_THAN_DAYS_LATER' => 'более дней',
 	'LBL_DENY'                     => 'Отрицать'                        ,
 	'LBL_EQUALS'                   => 'равна'                      ,
 	'LBL_NOT_EQUAL_TO'             => 'не равно'                ,
diff --git a/pkg/vtiger/translations/Spanish/modules/Vtiger.php b/pkg/vtiger/translations/Spanish/modules/Vtiger.php
index ab33f29ffed70b324900eeaf29f645d21bc89272..391c885755d1504e55d85f1d276ba9352b1663f6 100644
--- a/pkg/vtiger/translations/Spanish/modules/Vtiger.php
+++ b/pkg/vtiger/translations/Spanish/modules/Vtiger.php
@@ -150,6 +150,18 @@ $languageStrings = array(
 	'LBL_OR'                       => 'o',
 	'LBL_NONE'                     => 'NINGUNO',
 	'LBL_APPROVE'                  => 'Permitir',
+	'LBL_HAS_CHANGED' => 'ha cambiado',
+	'LBL_HAS_CHANGED_TO' => 'ha cambiado a',
+	'LBL_HAS_CHANGED_FROM' => 'ha cambiado desde',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'Menos que o igual a',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'Mayor qué o igual a',
+	'LBL_IS_NOT' => 'no es',
+	'LBL_IS_ADDED' => 'está agregado',
+	'LBL_IS_TODAY' => 'es hoy',
+	'LBL_IS_TOMORROW' => 'Es mañana',
+	'LBL_IS_YESTERDAY' => 'es ayer',
+	'LBL_LESS_THAN_DAYS_LATER' => 'menos de días más tarde',
+	'LBL_MORE_THAN_DAYS_LATER' => 'más de días más tarde',
 	'LBL_DENY'                     => 'Denegar',
 	'LBL_EQUALS'                   => 'igual',
 	'LBL_NOT_EQUAL_TO'             => 'distinto',
diff --git a/pkg/vtiger/translations/Sweden_sv_se/modules/Vtiger.php b/pkg/vtiger/translations/Sweden_sv_se/modules/Vtiger.php
index 449ca44cdfaef618c263a645200d7c0fccd50366..0fe0435b0c1ef802e2ba4d78409ff3603c42e2cd 100755
--- a/pkg/vtiger/translations/Sweden_sv_se/modules/Vtiger.php
+++ b/pkg/vtiger/translations/Sweden_sv_se/modules/Vtiger.php
@@ -199,6 +199,18 @@ $languageStrings = array(
 	'LBL_OR' => 'eller',
 	'LBL_NONE' => 'INGEN',
 	'LBL_APPROVE' => 'Godkänd',
+	'LBL_HAS_CHANGED' => 'har förändrats',
+	'LBL_HAS_CHANGED_TO' => 'har ändrats till',
+	'LBL_HAS_CHANGED_FROM' => 'har ändrats från',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'mindre än eller lika med',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'större än eller lika med',
+	'LBL_IS_NOT' => 'är inte',
+	'LBL_IS_ADDED' => 'är adderat',
+	'LBL_IS_TODAY' => 'är idag',
+	'LBL_IS_TOMORROW' => 'är i morgon',
+	'LBL_IS_YESTERDAY' => 'är igår',
+	'LBL_LESS_THAN_DAYS_LATER' => 'mindre än dagar senare',
+	'LBL_MORE_THAN_DAYS_LATER' => 'mer än dagar senare',
 	'LBL_DENY' => 'Neka',
 	'LBL_EQUALS' => 'är lika med',
 	'LBL_NOT_EQUAL_TO' => 'är inte lika med',
diff --git a/pkg/vtiger/translations/TurkishLanguagePack_tr_tr/modules/Vtiger.php b/pkg/vtiger/translations/TurkishLanguagePack_tr_tr/modules/Vtiger.php
index 82b9ab1c5d45668b84d095bcdb88e93d5c57be13..8906fe12b3044f4f13964d43df401df29d0ac459 100644
--- a/pkg/vtiger/translations/TurkishLanguagePack_tr_tr/modules/Vtiger.php
+++ b/pkg/vtiger/translations/TurkishLanguagePack_tr_tr/modules/Vtiger.php
@@ -161,6 +161,18 @@ $languageStrings = array(
 	'LBL_OR'                       => 'veya'                        , 
 	'LBL_NONE'                     => '--Yok--'                     , 
 	'LBL_APPROVE'                  => 'Approve'                     , 
+	'LBL_HAS_CHANGED' => 'deÄŸiÅŸti',
+	'LBL_HAS_CHANGED_TO' => 'deÄŸiÅŸti',
+	'LBL_HAS_CHANGED_FROM' => 'deÄŸiÅŸtiÄŸini',
+	'LBL_LESS_THAN_OR_EQUAL_TO' => 'daha az ya da eÅŸit',
+	'LBL_GREATER_THAN_OR_EQUAL_TO' => 'daha büyük ya da eşit',
+	'LBL_IS_NOT' => 'deÄŸil',
+	'LBL_IS_ADDED' => 'eklendi',
+	'LBL_IS_TODAY' => 'bugün',
+	'LBL_IS_TOMORROW' => 'yarın',
+	'LBL_IS_YESTERDAY' => 'dün',
+	'LBL_LESS_THAN_DAYS_LATER' => 'az gün sonra',
+	'LBL_MORE_THAN_DAYS_LATER' => 'Birden fazla gün sonra',
 	'LBL_DENY'                     => 'Deny'                        , 
 	'LBL_EQUALS'                   => 'equals'                      , 
 	'LBL_NOT_EQUAL_TO'             => 'not equal to'                ,