diff --git a/languages/en_us/ModuleManager.php b/languages/en_us/ModuleManager.php
index 9bdf5d43de07945be7d7b06f76a1040427511115..3fb624ae7452b736fa9f5a2cd17bea0801b8a6f7 100644
--- a/languages/en_us/ModuleManager.php
+++ b/languages/en_us/ModuleManager.php
@@ -45,7 +45,7 @@ $languageStrings = array(
 	'LBL_EXTENSION_STORE' => 'Extension Store',
 	'LBL_ACCEPT_WITH_THE_DISCLAIMER' => 'I accept with disclaimer and would like to proceed',
 	'LBL_INSTALL_FROM_ZIP' => 'Install from Zip',
-	'LBL_DELETE_EXIST_DIRECTORY' => 'Please delete the module direcctory that exist to proceed with import module',
+	'LBL_DELETE_EXIST_DIRECTORY' => 'Please delete the module directory that exist to proceed with import module',
 
 	'LBL_UPDATE_MODULE_FROM_FILE' => 'Update Module From File',
 	'LBL_UPDATED_MODULE' => ' module was updated successfully.',
diff --git a/languages/en_us/Settings/ModuleManager.php b/languages/en_us/Settings/ModuleManager.php
index 9bdf5d43de07945be7d7b06f76a1040427511115..3fb624ae7452b736fa9f5a2cd17bea0801b8a6f7 100644
--- a/languages/en_us/Settings/ModuleManager.php
+++ b/languages/en_us/Settings/ModuleManager.php
@@ -45,7 +45,7 @@ $languageStrings = array(
 	'LBL_EXTENSION_STORE' => 'Extension Store',
 	'LBL_ACCEPT_WITH_THE_DISCLAIMER' => 'I accept with disclaimer and would like to proceed',
 	'LBL_INSTALL_FROM_ZIP' => 'Install from Zip',
-	'LBL_DELETE_EXIST_DIRECTORY' => 'Please delete the module direcctory that exist to proceed with import module',
+	'LBL_DELETE_EXIST_DIRECTORY' => 'Please delete the module directory that exist to proceed with import module',
 
 	'LBL_UPDATE_MODULE_FROM_FILE' => 'Update Module From File',
 	'LBL_UPDATED_MODULE' => ' module was updated successfully.',
diff --git a/languages/en_us/Users.php b/languages/en_us/Users.php
index 5e58d9b9ea2ff8404e798b335057b8b8a2877764..64f948109619037330706d637fa8594489738216 100644
--- a/languages/en_us/Users.php
+++ b/languages/en_us/Users.php
@@ -35,7 +35,7 @@ $languageStrings = array(
 	'Reports To' => 'Reports To',
 	'Yahoo id' => 'Yahoo id',
 	'Home Phone' => 'Home Phone',
-	'User Image' => 'Upload Photograph',
+	'User Image' => 'User Image',
 	'Date Format' => 'Date Format',
 	'Tag Cloud' => 'Tag Cloud',
 	'Signature' => 'Signature',
diff --git a/layouts/v7/modules/Accounts/DetailViewHeaderTitle.tpl b/layouts/v7/modules/Accounts/DetailViewHeaderTitle.tpl
index 77f70b1085204bfa687b905060519a572e6bb863..7b92d5ce0ead303579f156c73322edacc3fcea1f 100644
--- a/layouts/v7/modules/Accounts/DetailViewHeaderTitle.tpl
+++ b/layouts/v7/modules/Accounts/DetailViewHeaderTitle.tpl
@@ -22,8 +22,8 @@
 					{/if}
 				{/foreach}
 				{if empty($IMAGE_DETAILS)}
-					<div class="name"><span><strong> <i class="vicon-accounts"></i> </strong></span></div>
-							{/if}
+					<div class="name"><span><strong>{$MODULE_MODEL->getModuleIcon()}</strong></span></div>
+				{/if}
 			</div>
 			<div class="recordBasicInfo">
 				<div class="info-row" >
diff --git a/layouts/v7/modules/Calendar/ListViewRecordActions.tpl b/layouts/v7/modules/Calendar/ListViewRecordActions.tpl
index 4940f5c959f73739e63368097d721875e05db5c4..04c6bf79320da772619c4496f2108ea31487fbd1 100644
--- a/layouts/v7/modules/Calendar/ListViewRecordActions.tpl
+++ b/layouts/v7/modules/Calendar/ListViewRecordActions.tpl
@@ -27,10 +27,10 @@
 		{/if}
 		{assign var=EDIT_VIEW_URL value={$LISTVIEW_ENTRY->getEditViewUrl()}}
 		{if $IS_MODULE_EDITABLE && $EDIT_VIEW_URL && $LISTVIEW_ENTRY->get('taskstatus') neq vtranslate('Held', $MODULE) && $LISTVIEW_ENTRY->get('taskstatus') neq vtranslate('Completed', $MODULE)}
-			<span class="fa fa-check icon action" title="{vtranslate('LBL_MARK_AS_HELD', $MODULE)}" onclick="Calendar_Calendar_Js.markAsHeld('{$LISTVIEW_ENTRY->getId()}');"></span>
+			<span class="fa fa-check icon action markAsHeld" title="{vtranslate('LBL_MARK_AS_HELD', $MODULE)}" onclick="Calendar_Calendar_Js.markAsHeld('{$LISTVIEW_ENTRY->getId()}');"></span>
 		{/if}
 		{if $IS_CREATE_PERMITTED && $EDIT_VIEW_URL && $LISTVIEW_ENTRY->get('taskstatus') eq vtranslate('Held', $MODULE)}
-			<span class="fa fa-flag icon action" title="{vtranslate('LBL_HOLD_FOLLOWUP_ON', "Events")}" onclick="Calendar_Calendar_Js.holdFollowUp('{$LISTVIEW_ENTRY->getId()}');"></span>
+			<span class="fa fa-flag icon action holdFollowupOn" title="{vtranslate('LBL_HOLD_FOLLOWUP_ON', "Events")}" onclick="Calendar_Calendar_Js.holdFollowUp('{$LISTVIEW_ENTRY->getId()}');"></span>
 		{/if}
 		<span class="more dropdown action">
 			<span href="javascript:;" class="dropdown-toggle" data-toggle="dropdown">
diff --git a/layouts/v7/modules/Calendar/TaskManagementContents.tpl b/layouts/v7/modules/Calendar/TaskManagementContents.tpl
index 56d743485b3f4dc6322d25f66b0da84c308ad153..d0e813b6a46bf1104d45185a7f0289ef39187433 100644
--- a/layouts/v7/modules/Calendar/TaskManagementContents.tpl
+++ b/layouts/v7/modules/Calendar/TaskManagementContents.tpl
@@ -60,7 +60,7 @@
 						{if !empty($RELATED_PARENT)}
 							<span class='related_account' style='margin-left: 8px;'>
 								{assign var=RELATED_PARENT_MODULE value=$RELATED_PARENT['module']}
-								<i class="vicon-{$RELATED_PARENT_MODULE|lower}" style="font-size: 12px;"></i>&nbsp;
+								<span style="font-size: 12px;">{Vtiger_Module_Model::getModuleIconPath($RELATED_PARENT_MODULE)}&nbsp;</span>
 								<span class="recordName textOverflowEllipsis" style="vertical-align: middle">
 									<a class="quickPreview" href="index.php?module={$RELATED_PARENT_MODULE}&view=Detail&record={$RELATED_PARENT['id']}"  data-id="{$RELATED_PARENT['id']}" title="{$RELATED_PARENT['display_value']}">{$RELATED_PARENT['display_value']}</a>
 								</span>
@@ -68,7 +68,7 @@
 						{/if}
 						{if !empty($RELATED_CONTACT['id'])}
 							<span class='related_contact' style='margin-left: 8px;'>
-								<i class="vicon-contacts" style="font-size: 12px;"></i>&nbsp;
+								<span style="font-size: 12px;">{Vtiger_Module_Model::getModuleIconPath('Contacts')}&nbsp;</span>
 								<span class="recordName textOverflowEllipsis" style="vertical-align: middle">
 									<a class="quickPreview" href="index.php?module={$RELATED_CONTACT['module']}&view=Detail&record={$RELATED_CONTACT['id']}" data-id="{$RELATED_CONTACT['id']}" title="{$RELATED_CONTACT['display_value']}">{$RELATED_CONTACT['display_value']}</a>
 								</span>
diff --git a/layouts/v7/modules/Contacts/DetailViewHeaderTitle.tpl b/layouts/v7/modules/Contacts/DetailViewHeaderTitle.tpl
index 338f33e1b7981526da71e1da966cb8fb26e83ff9..321a158302c204bb9e73c8bdb1ced9e10904eff6 100644
--- a/layouts/v7/modules/Contacts/DetailViewHeaderTitle.tpl
+++ b/layouts/v7/modules/Contacts/DetailViewHeaderTitle.tpl
@@ -22,8 +22,8 @@
 			   {/if}
 			{/foreach}
 			{if empty($IMAGE_DETAILS)}
-			   <div class="name"><span><strong> <i class="vicon-contacts"></i> </strong></span></div>
-					 {/if}
+				<div class="name"><span><strong>{$MODULE_MODEL->getModuleIcon()}</strong></span></div>
+			{/if}
 		 </div>
 		 <div class="recordBasicInfo">
 			<div class="info-row">
diff --git a/layouts/v7/modules/Documents/partials/Menubar.tpl b/layouts/v7/modules/Documents/partials/Menubar.tpl
index 053e3e8b6189260bf8e438ebeb81a1f557337abb..3dd9d5a72413780b945b1c5b89b35298d49b9b1a 100644
--- a/layouts/v7/modules/Documents/partials/Menubar.tpl
+++ b/layouts/v7/modules/Documents/partials/Menubar.tpl
@@ -1,9 +1,18 @@
+{*+**********************************************************************************
+* 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.
+*************************************************************************************}
+
 {if $smarty.request.view eq 'Detail'}
 <div id="modules-menu" class="modules-menu">    
     <ul>
         <li class="active">
             <a href="{$MODULE_MODEL->getListViewUrl()}">
-                <i class="vicon-documents"></i>
+				{$MODULE_MODEL->getModuleIcon()}
                 <span>{$MODULE}</span>
             </a>
         </li>
diff --git a/layouts/v7/modules/Documents/partials/SidebarHeader.tpl b/layouts/v7/modules/Documents/partials/SidebarHeader.tpl
index 4be9589120b469c1ff60ac0b2ce3caf6799bf8f7..1a44242bce1631445f576181b40966e43817b057 100644
--- a/layouts/v7/modules/Documents/partials/SidebarHeader.tpl
+++ b/layouts/v7/modules/Documents/partials/SidebarHeader.tpl
@@ -13,9 +13,9 @@
    'INVENTORY' => 'vicon-inventory',
    'PROJECT' => 'fa-briefcase'
 ]}
-<div class="col-sm-12 col-xs-12 app-indicator-icon-container app-{$SELECTED_MENU_CATEGORY}">
+<div class="col-sm-12 col-xs-12 app-indicator-icon-container app-{$SELECTED_MENU_CATEGORY} moduleIcon">
     <div class="row" title="{vtranslate("Documents",$MODULE)}">
-        <span class="app-indicator-icon fa vicon-documents"></span>
+		<span>{$MODULE_MODEL->getModuleIcon()}</span>
     </div>
 </div>
     
diff --git a/layouts/v7/modules/HelpDesk/DetailViewHeaderTitle.tpl b/layouts/v7/modules/HelpDesk/DetailViewHeaderTitle.tpl
index 1c76eff7100880d6b35f83a0d1e4e2b91c98a4a5..918af0b4535e35c5725dfd4bfb31a3acca86a24c 100644
--- a/layouts/v7/modules/HelpDesk/DetailViewHeaderTitle.tpl
+++ b/layouts/v7/modules/HelpDesk/DetailViewHeaderTitle.tpl
@@ -13,7 +13,7 @@
     <div class="col-sm-6 col-lg-6 col-md-6">
         <div class="record-header clearfix">
             <div class="hidden-sm hidden-xs recordImage bghelpdesk app-{$SELECTED_MENU_CATEGORY}">
-                <div class="name"><span><strong> <i class="vicon-helpdesk"></i> </strong></span></div>
+				<div class="name"><span><strong>{$MODULE_MODEL->getModuleIcon()}</strong></span></div>
             </div>
             <div class="recordBasicInfo">
                 <div class="info-row">
diff --git a/layouts/v7/modules/Inventory/partials/LineItemsContent.tpl b/layouts/v7/modules/Inventory/partials/LineItemsContent.tpl
index 9a6ad82b3f72e14db5ede702db6643f4a0c66ae9..a5ef87a711e109bee46e0ffbe4d4f5a545c8bab4 100644
--- a/layouts/v7/modules/Inventory/partials/LineItemsContent.tpl
+++ b/layouts/v7/modules/Inventory/partials/LineItemsContent.tpl
@@ -83,17 +83,17 @@
 							<input type="hidden" id="lineItemType{$row_no}" name="lineItemType{$row_no}" value="{$entityType}" class="lineItemType"/>
 							<div class="col-lg-2">
 								{if $row_no eq 0}
-									<i class="lineItemPopup cursorPointer vicon-services" data-popup="ServicesPopup" title="{vtranslate('Services',$MODULE)}" data-module-name="Services" data-field-name="serviceid"></i>
-									<i class="lineItemPopup cursorPointer vicon-products" data-popup="ProductsPopup" title="{vtranslate('Products',$MODULE)}" data-module-name="Products" data-field-name="productid"></i>
+									<span class="lineItemPopup cursorPointer" data-popup="ServicesPopup" title="{vtranslate('Services',$MODULE)}" data-module-name="Services" data-field-name="serviceid">{Vtiger_Module_Model::getModuleIconPath('Services')}</span>
+									<span class="lineItemPopup cursorPointer" data-popup="ProductsPopup" title="{vtranslate('Products',$MODULE)}" data-module-name="Products" data-field-name="productid">{Vtiger_Module_Model::getModuleIconPath('Products')}</span>
 								{elseif $entityType eq '' and $PRODUCT_ACTIVE eq 'true'}
-									<i class="lineItemPopup cursorPointer vicon-products" data-popup="ProductsPopup" data-module-name="Products" title="{vtranslate('Products',$MODULE)}" data-field-name="productid"></i>
+									<span class="lineItemPopup cursorPointer" data-popup="ProductsPopup" title="{vtranslate('Products',$MODULE)}" data-module-name="Products" data-field-name="productid">{Vtiger_Module_Model::getModuleIconPath('Products')}</span>
 								{elseif $entityType eq '' and $SERVICE_ACTIVE eq 'true'}
-									<i class="lineItemPopup cursorPointer vicon-services" data-popup="ServicesPopup" data-module-name="Services" title="{vtranslate('Services',$MODULE)}" data-field-name="serviceid" ></i>
+									<span class="lineItemPopup cursorPointer" data-popup="ServicesPopup" title="{vtranslate('Services',$MODULE)}" data-module-name="Services" data-field-name="serviceid">{Vtiger_Module_Model::getModuleIconPath('Services')}</span>
 								{else}
 									{if ($entityType eq 'Services') and (!$data.$productDeleted)}
-										<i class="lineItemPopup cursorPointer vicon-services" data-popup="ServicesPopup" data-module-name="Services" title="{vtranslate('Services',$MODULE)}" data-field-name="serviceid" ></i>
+										<span class="lineItemPopup cursorPointer" data-popup="ServicesPopup" title="{vtranslate('Services',$MODULE)}" data-module-name="Services" data-field-name="serviceid">{Vtiger_Module_Model::getModuleIconPath('Services')}</span>
 									{elseif (!$data.$productDeleted)}
-										<i class="lineItemPopup cursorPointer vicon-products" data-popup="ProductsPopup" data-module-name="Products" title="{vtranslate('Products',$MODULE)}" data-field-name="productid" ></i>
+										<span class="lineItemPopup cursorPointer" data-popup="ProductsPopup" title="{vtranslate('Products',$MODULE)}" data-module-name="Products" data-field-name="productid">{Vtiger_Module_Model::getModuleIconPath('Products')}</span>
 									{/if}
 								{/if}
 							</div>
@@ -169,7 +169,7 @@
 				&nbsp;
 				{assign var=PRICEBOOK_MODULE_MODEL value=Vtiger_Module_Model::getInstance('PriceBooks')}
 				{if $PRICEBOOK_MODULE_MODEL->isPermitted('DetailView') && $MODULE != 'PurchaseOrder'}
-					<i class="priceBookPopup cursorPointer vicon-pricebooks" data-popup="Popup" data-module-name="PriceBooks" style="float:left"></i>
+					<span class="priceBookPopup cursorPointer" data-popup="Popup"  title="{vtranslate('PriceBooks', $MODULE)}" data-module-name="PriceBooks" style="float:left">{Vtiger_Module_Model::getModuleIconPath('PriceBooks')}</span>
 				{/if}
 			</div>
 			<div style="clear:both"></div>
diff --git a/layouts/v7/modules/Invoice/DetailViewHeaderTitle.tpl b/layouts/v7/modules/Invoice/DetailViewHeaderTitle.tpl
index eca4adb7e1e3306e4c07a8b14239adfc27fd7ea1..47393217a94d54fcb943333d67311223dc71aa58 100644
--- a/layouts/v7/modules/Invoice/DetailViewHeaderTitle.tpl
+++ b/layouts/v7/modules/Invoice/DetailViewHeaderTitle.tpl
@@ -21,9 +21,9 @@
                         <img src="{vimage_path('summary_organizations.png')}" class="summaryImg"/>
                     {/if}
                 {/foreach}
-                {if empty($IMAGE_DETAILS)}
-                    <div class="name"><span><strong><i class="vicon-invoice"></i></strong></span></div>
-                            {/if}
+				{if empty($IMAGE_DETAILS)}
+					<div class="name"><span><strong>{$MODULE_MODEL->getModuleIcon()}</strong></span></div>
+				{/if}
             </div>
             <div class="recordBasicInfo">
                 <div class="info-row" >
diff --git a/layouts/v7/modules/Leads/DetailViewHeaderTitle.tpl b/layouts/v7/modules/Leads/DetailViewHeaderTitle.tpl
index 17f3914c4c534f0312b2aaa2e6ac0a30ce59bbe9..9339f20596bf43798943cdb439d00373f6312a53 100644
--- a/layouts/v7/modules/Leads/DetailViewHeaderTitle.tpl
+++ b/layouts/v7/modules/Leads/DetailViewHeaderTitle.tpl
@@ -22,8 +22,8 @@
                     {/if}
                 {/foreach}
                 {if empty($IMAGE_DETAILS)}
-                    <div class="name"><span><strong><i class="vicon-leads"></i></strong></span></div>
-                            {/if}
+                    <div class="name"><span><strong>{$MODULE_MODEL->getModuleIcon()}</strong></span></div>
+				{/if}
             </div>
             <div class="recordBasicInfo">
                 <div class="info-row">
diff --git a/layouts/v7/modules/Potentials/DetailViewHeaderTitle.tpl b/layouts/v7/modules/Potentials/DetailViewHeaderTitle.tpl
index 40d7e3a0d762a7c3d917de0a588ed3b6edae0378..7aba6fb1329954b12619ebdd0ae83f6c0a5d7b79 100644
--- a/layouts/v7/modules/Potentials/DetailViewHeaderTitle.tpl
+++ b/layouts/v7/modules/Potentials/DetailViewHeaderTitle.tpl
@@ -13,7 +13,7 @@
     <div class="col-sm-6 col-lg-6 col-md-6">
         <div class="record-header clearfix">
             <div class="hidden-sm hidden-xs recordImage bgpotentials app-{$SELECTED_MENU_CATEGORY}">
-                <div class="name"><span><strong> <i class="vicon-potentials"></i> </strong></span></div>
+				<div class="name"><span><strong>{$MODULE_MODEL->getModuleIcon()}</strong></span></div>
             </div>
 
             <div class="recordBasicInfo">
diff --git a/layouts/v7/modules/Products/DetailViewHeaderTitle.tpl b/layouts/v7/modules/Products/DetailViewHeaderTitle.tpl
index 06512682ab182f8161cb0b700c9776db6d5579bd..59f83579e25661afd5d25cf094e8433a9995479a 100644
--- a/layouts/v7/modules/Products/DetailViewHeaderTitle.tpl
+++ b/layouts/v7/modules/Products/DetailViewHeaderTitle.tpl
@@ -30,9 +30,9 @@
 	                  <img src="{vimage_path('summary_Products.png')}" class="summaryImg"/>
 	               {/if}
 	        {/foreach}
-                {if empty($IMAGE_DETAILS)}
-                    <div class="name"><span><strong> <i class="vicon-products"></i> </strong></span></div>
-            {/if}      
+			{if empty($IMAGE_DETAILS)}
+				<div class="name"><span><strong>{$MODULE_MODEL->getModuleIcon()}</strong></span></div>
+			{/if}
             </div>
 
             <div class="recordBasicInfo">
diff --git a/layouts/v7/modules/PurchaseOrder/DetailViewHeaderTitle.tpl b/layouts/v7/modules/PurchaseOrder/DetailViewHeaderTitle.tpl
index ff1f18071beba5580551c334b219293a3fa0042d..a2c8da0ee510aeb95b2d5b7fea597b7de34c7413 100644
--- a/layouts/v7/modules/PurchaseOrder/DetailViewHeaderTitle.tpl
+++ b/layouts/v7/modules/PurchaseOrder/DetailViewHeaderTitle.tpl
@@ -22,8 +22,8 @@
                     {/if}
                 {/foreach}
                 {if empty($IMAGE_DETAILS)}
-                    <div class="name"><span><strong> <i class="vicon-purchaseorder"></i> </strong></span></div>
-                            {/if}
+                    <div class="name"><span><strong>{$MODULE_MODEL->getModuleIcon()}</strong></span></div>
+				{/if}
             </div>
             <div class="recordBasicInfo">
                 <div class="info-row">
diff --git a/layouts/v7/modules/Quotes/DetailViewHeaderTitle.tpl b/layouts/v7/modules/Quotes/DetailViewHeaderTitle.tpl
index 0ebcaabdf68d7e012c966c66f7e8a8f5170e8361..9fcf58ad1b36a26641223fc23918d49f5e4768c1 100644
--- a/layouts/v7/modules/Quotes/DetailViewHeaderTitle.tpl
+++ b/layouts/v7/modules/Quotes/DetailViewHeaderTitle.tpl
@@ -21,9 +21,9 @@
                         <img src="{vimage_path('summary_organizations.png')}" class="summaryImg"/>
                     {/if}
                 {/foreach}
-                {if empty($IMAGE_DETAILS)}
-                    <div class="name"><span><strong> <i class="vicon-quotes"></i> </strong></span></div>
-                            {/if}
+				{if empty($IMAGE_DETAILS)}
+					<div class="name"><span><strong>{$MODULE_MODEL->getModuleIcon()}</strong></span></div>
+				{/if}
             </div>
             <div class="recordBasicInfo">
                 <div class="info-row">
diff --git a/layouts/v7/modules/SalesOrder/DetailViewHeaderTitle.tpl b/layouts/v7/modules/SalesOrder/DetailViewHeaderTitle.tpl
index b2608b9abc0ae83d4ef38f7eb97466de685d6009..965261dd62dfb80b818bfcebe8501fa259d7748c 100644
--- a/layouts/v7/modules/SalesOrder/DetailViewHeaderTitle.tpl
+++ b/layouts/v7/modules/SalesOrder/DetailViewHeaderTitle.tpl
@@ -21,9 +21,9 @@
                         <img src="{vimage_path('summary_organizations.png')}" class="summaryImg"/>
                     {/if}
                 {/foreach}
-                {if empty($IMAGE_DETAILS)}
-                    <div class="name"><span><strong> <i class="vicon-salesorder"></i> </strong></span></div>
-                            {/if}
+				{if empty($IMAGE_DETAILS)}
+					<div class="name"><span><strong>{$MODULE_MODEL->getModuleIcon()}</strong></span></div>
+				{/if}
             </div>
             <div class="recordBasicInfo">
                 <div class="info-row">
diff --git a/layouts/v7/modules/Settings/ExtensionStore/CardSetupModals.tpl b/layouts/v7/modules/Settings/ExtensionStore/CardSetupModals.tpl
index f2e894a88b4e706d844770b47c4085006489025f..cfda6f15de9124466f0319b75f1e71fa7292c032 100644
--- a/layouts/v7/modules/Settings/ExtensionStore/CardSetupModals.tpl
+++ b/layouts/v7/modules/Settings/ExtensionStore/CardSetupModals.tpl
@@ -9,308 +9,311 @@
 ************************************************************************************/
 -->*}
 
-<!-- Setup card detals form  start-->   
+<!-- Setup card detals form start--> 
 <div class="modal-dialog setUpCardModal hide">
-    <div class="modal-content">
-        {assign var=HEADER_TITLE value={vtranslate('LBL_SETUP_CARD', $QUALIFIED_MODULE)}}
-        {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
-        <form class="form-horizontal setUpCardForm">
-            <input type="hidden" name="customerId" value="{$CUSTOMER_PROFILE['id']}" />
-            <input type="hidden" name="customerCardId" value="{$CUSTOMER_PROFILE['CustomerCardId']}" />
-            <input type="hidden" name="module" value="ExtensionStore" />
-            <input type="hidden" name="parent" value="Settings" />
-            <input type="hidden" name="action" value="Basic" />
-            <input type="hidden" name="mode" value="updateCardDetails" />
-            <div class="modal-body">
-                <div class="form-group">
-                    <span class="control-label col-sm-3 col-xs-3">
-                        {vtranslate('LBL_CARD_NUMBER', $QUALIFIED_MODULE)}
-                        <span class="redColor">*</span>
-                    </span>
-                    <div class="controls col-sm-5 col-xs-5">
-                        <input class="col-sm-8 col-xs-8 inputElement" type="text" placeholder="{vtranslate('LBL_CARD_NUMBER_PLACEHOLDER', $QUALIFIED_MODULE)}" name="cardNumber" value="" data-rule-required="true" data-rule-WholeNumber="true"/>
-                    </div>
-                </div>
-                <div class="form-group">
-                    <span class="control-label col-sm-3 col-xs-3">
-                        {vtranslate('LBL_EXPIRY_DATE', $QUALIFIED_MODULE)}
-                        <span class="redColor">*</span>
-                    </span>
-                    <div class="controls col-sm-9 col-xs-9"> 
-                        <input class="inputElement" style="width: 50px;" placeholder="mm" type="text" name="expMonth" value="" data-rule-required="true" data-mask="99" />
-                        &nbsp;-&nbsp;
-                        <input class="inputElement" style="width: 50px;" placeholder="yyyy" type="text" name="expYear" value="" data-rule-required="true" data-mask="9999" />
-                    </div>
-                </div>
-                <div class="form-group">
-                    <span class="control-label col-sm-3 col-xs-3">
-                        {vtranslate('LBL_SECURITY_CODE', $QUALIFIED_MODULE)}
-                        <span class="redColor">*</span>
-                    </span>
-                    <div class="controls col-sm-9 col-xs-9">
-                        <input class="inputElement" style="width: 50px;" type="text" name="cvccode" value="" data-rule-required="true" data-mask="999"/>
-                        &nbsp;&nbsp;
-                        <span class="fa fa-info-circle" id="helpSecurityCode" onmouseover="Settings_ExtensionStore_ExtensionStore_Js.showPopover(this)" data-title="{vtranslate('LBL_WHAT_IS_SECURITY_CODE', $QUALIFIED_MODULE)}" data-content="{vtranslate('LBL_SECURITY_CODE_HELP_CONTENT', $QUALIFIED_MODULE)}" data-position="right"></span>
-                    </div>
-                </div>
-            </div>
-            <div class="modal-footer">
-                <div class="row">
-                    <div class="col-sm-3 col-xs-3">
-                        <span class="pull-left"><button class="btn btn-danger" type="button" name="resetButton"><strong>{vtranslate('LBL_RESET', $QUALIFIED_MODULE)}</strong></button></span>
-                    </div>
-                    <div class="col-sm-9 col-xs-9">
-                        <div class="pull-right">
-                            <div class="pull-right cancelLinkContainer" style="margin-top:0px;">
-                                <a class="cancelLink" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
-                            </div>
-                                <button class="btn btn-success saveButton" type="submit" name="saveButton"><strong>{vtranslate('LBL_SAVE', $MODULE)}</strong></button>
-                        </div>
-                    </div>  
-                </div>
-            </div>
-        </form>
-    </div>
+	<div class="modal-content">
+		{assign var=HEADER_TITLE value={vtranslate('LBL_SETUP_CARD', $QUALIFIED_MODULE)}}
+		{include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
+		<form class="form-horizontal setUpCardForm">
+			<input type="hidden" name="customerId" value="{$CUSTOMER_PROFILE['id']}" />
+			<input type="hidden" name="customerCardId" value="{$CUSTOMER_PROFILE['CustomerCardId']}" />
+			<input type="hidden" name="module" value="ExtensionStore" />
+			<input type="hidden" name="parent" value="Settings" />
+			<input type="hidden" name="action" value="Basic" />
+			<input type="hidden" name="mode" value="updateCardDetails" />
+			<div class="modal-body">
+				<div class="form-group">
+					<span class="control-label col-sm-3 col-xs-3">
+						{vtranslate('LBL_CARD_NUMBER', $QUALIFIED_MODULE)}
+						<span class="redColor">*</span>
+					</span>
+					<div class="controls col-sm-5 col-xs-5">
+						<input class="col-sm-8 col-xs-8 inputElement" type="text" placeholder="{vtranslate('LBL_CARD_NUMBER_PLACEHOLDER', $QUALIFIED_MODULE)}" name="cardNumber" value="" data-rule-required="true" data-rule-WholeNumber="true"/>
+					</div>
+				</div>
+				<div class="form-group">
+					<span class="control-label col-sm-3 col-xs-3">
+						{vtranslate('LBL_EXPIRY_DATE', $QUALIFIED_MODULE)}
+						<span class="redColor">*</span>
+					</span>
+					<div class="controls col-sm-9 col-xs-9"> 
+						<input class="inputElement" style="width: 50px;" placeholder="mm" type="text" name="expMonth" value="" data-rule-required="true" data-mask="99" />
+						&nbsp;-&nbsp;
+						<input class="inputElement" style="width: 50px;" placeholder="yyyy" type="text" name="expYear" value="" data-rule-required="true" data-mask="9999" />
+					</div>
+				</div>
+				<div class="form-group">
+					<span class="control-label col-sm-3 col-xs-3">
+						{vtranslate('LBL_SECURITY_CODE', $QUALIFIED_MODULE)}
+						<span class="redColor">*</span>
+					</span>
+					<div class="controls col-sm-9 col-xs-9">
+						<input class="inputElement" style="width: 50px;" type="text" name="cvccode" value="" data-rule-required="true" data-mask="999"/>
+						&nbsp;&nbsp;
+						<span class="fa fa-info-circle" id="helpSecurityCode" onmouseover="Settings_ExtensionStore_ExtensionStore_Js.showPopover(this)" data-title="{vtranslate('LBL_WHAT_IS_SECURITY_CODE', $QUALIFIED_MODULE)}" data-content="{vtranslate('LBL_SECURITY_CODE_HELP_CONTENT', $QUALIFIED_MODULE)}" data-position="right"></span>
+					</div>
+				</div>
+			</div>
+			<div class="modal-footer">
+				<div class="row">
+					<div class="col-sm-3 col-xs-3">
+						<span class="pull-left"><button class="btn btn-danger" type="button" name="resetButton"><strong>{vtranslate('LBL_RESET', $QUALIFIED_MODULE)}</strong></button></span>
+					</div>
+					<div class="col-sm-9 col-xs-9">
+						<div class="pull-right">
+							<div class="pull-right cancelLinkContainer" style="margin-top:5px;">
+								<a class="cancelLink" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
+							</div>
+							<button class="btn btn-success saveButton" type="submit" name="saveButton" style="padding: 5px 12px;"><strong>{vtranslate('LBL_SAVE', $MODULE)}</strong></button>
+						</div>
+					</div>
+				</div>
+			</div>
+		</form>
+	</div>
 </div>
-<!-- Setup card detals form  end-->                              
-<!-- View card detals start-->      
+<!-- Setup card detals form end-->
 
+<!-- View card detals start-->
 <div class="modal-dialog viewCardInfoModal hide">
-    <div class="modal-content">
-        {assign var=HEADER_TITLE value={vtranslate('Card Information', $QUALIFIED_MODULE)}}
-        {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
-        <div class="modal-body">
-            <div class="row marginBottom10px">
-                <div class="col-sm-3 col-xs-3">
-                    {vtranslate('LBL_CARD_NUMBER', $QUALIFIED_MODULE)}
-                </div>
-                <div class="col-sm-4 col-xs-4 cardNumber">{$CUSTOMER_CARD_INFO['number']}</div>
-            </div>
-            <div class="row marginBottom10px">
-                <div class="col-sm-3 col-xs-3">
-                    {vtranslate('LBL_EXPIRY_DATE', $QUALIFIED_MODULE)}
-                </div>
-                <div class="col-sm-4 col-xs-4 expiryDate">{$CUSTOMER_CARD_INFO['expmonth']}&nbsp;-&nbsp;{$CUSTOMER_CARD_INFO['expyear']}</div>
-            </div>
-            <div class="row marginBottom10px">
-                <div class="col-sm-3 col-xs-3 securityCode">
-                    {vtranslate('LBL_SECURITY_CODE', $QUALIFIED_MODULE)}
-                </div>
-                <div class="col-sm-4 col-xs-4">***</div>
-            </div>
-        </div>
-        <div class="modal-footer">
-            <div class="row-fluid">
-                <div class="pull-right">
-                    <div class="pull-right cancelLinkContainer" style="margin-top:0px;">
-                        <a class="cancelLink" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
-                    </div>
-                    <button class="btn btn-success updateBtn">{vtranslate('Update', $MODULE)}</button>
-                </div>
-            </div>
-        </div>
-    </div>
+	<div class="modal-content">
+		{assign var=HEADER_TITLE value={vtranslate('Card Information', $QUALIFIED_MODULE)}}
+		{include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
+		<div class="modal-body">
+			<div class="row marginBottom10px">
+				<div class="col-sm-3 col-xs-3">
+					{vtranslate('LBL_CARD_NUMBER', $QUALIFIED_MODULE)}
+				</div>
+				<div class="col-sm-4 col-xs-4 cardNumber">{$CUSTOMER_CARD_INFO['number']}</div>
+			</div>
+			<div class="row marginBottom10px">
+				<div class="col-sm-3 col-xs-3">
+					{vtranslate('LBL_EXPIRY_DATE', $QUALIFIED_MODULE)}
+				</div>
+				<div class="col-sm-4 col-xs-4 expiryDate">{$CUSTOMER_CARD_INFO['expmonth']}&nbsp;-&nbsp;{$CUSTOMER_CARD_INFO['expyear']}</div>
+			</div>
+			<div class="row marginBottom10px">
+				<div class="col-sm-3 col-xs-3 securityCode">
+					{vtranslate('LBL_SECURITY_CODE', $QUALIFIED_MODULE)}
+				</div>
+				<div class="col-sm-4 col-xs-4">***</div>
+			</div>
+		</div>
+		<div class="modal-footer">
+			<div class="row-fluid">
+				<div class="pull-right">
+					<div class="pull-right cancelLinkContainer" style="margin-top:5px;">
+						<a class="cancelLink" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
+					</div>
+					<button class="btn btn-success updateBtn">{vtranslate('Update', $MODULE)}</button>
+				</div>
+			</div>
+		</div>
+	</div>
 </div>
-<!-- view card information end -->            
+<!-- view card information end -->
 
-<!-- Signup form  start-->                              
+<!-- Signup form start-->
 <div class="modal-dialog signUpAccount hide">
-    <div class="modal-content">
-    {assign var=HEADER_TITLE value={vtranslate('LBL_SIGN_UP_FOR_FREE', $QUALIFIED_MODULE)}}
-    {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
-    <form class="form-horizontal signUpForm">
-        <input type="hidden" name="module" value="ExtensionStore" />
-        <input type="hidden" name="parent" value="Settings" />
-        <input type="hidden" name="action" value="Basic" />
-        <input type="hidden" name="userAction" value="signup" />
-        <input type="hidden" name="mode" value="registerAccount" />
-        <div class="modal-body col-md-offset-2">
-            <div class="form-group">
-                <span class="control-label col-sm-4">
-                    {vtranslate('LBL_EMAIL_ADDRESS', $QUALIFIED_MODULE)}
-                </span>
-                <div class="controls col-sm-5">
-                    <input type="text" name="emailAddress" data-rule-required="true" data-rule-email="true"/>
-                </div>
-            </div>
-            <div class="form-group">
-                <span class="control-label col-sm-4">
-                    {vtranslate('LBL_FIRST_NAME', $QUALIFIED_MODULE)}
-                </span>
-                <div class="controls col-sm-5">
-                    <input type="text" name="firstName" data-rule-required="true" />
-                </div>
-            </div>
-            <div class="form-group">
-                <span class="control-label col-sm-4">
-                    {vtranslate('LBL_LAST_NAME', $QUALIFIED_MODULE)}
-                </span>
-                <div class="controls col-sm-5">
-                    <input type="text" name="lastName" data-rule-required="true" />
-                </div>
-            </div>
-            <div class="form-group">
-                <span class="control-label col-sm-4">
-                    {vtranslate('LBL_COMPANY_NAME', $QUALIFIED_MODULE)}
-                </span>
-                <div class="controls col-sm-5">
-                    <input type="text" name="companyName" data-rule-required="true" />
-                </div>
-            </div>
-            <div class="form-group">
-                <span class="control-label col-sm-4">
-                    {vtranslate('LBL_PASSWORD', $QUALIFIED_MODULE)}
-                </span>
-                <div class="controls col-sm-5">
-                    <input type="password" name="password" data-rule-required="true" />
-                </div>
-            </div>
-            <div class="form-group">
-                <span class="control-label col-sm-4">
-                    {vtranslate('LBL_CONFIRM_PASSWORD', $QUALIFIED_MODULE)}
-                </span>
-                <div class="controls col-sm-5">
-                    <input type="password" name="confirmPassword" data-rule-required="true"/>
-                </div>
-            </div>
-        </div>
-        <div class="modal-footer">
-            <div class="row-fluid">
-                <span class="col-sm-6">&nbsp;
-                </span>
-                <span class="col-sm-6">
-                    <div class="pull-right">
-                        <div class="pull-right cancelLinkContainer" style="margin-top:0px;">
-                            <a class="cancelLink" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
-                        </div>
-                        <button class="btn btn-success" name="saveButton"><strong>{vtranslate('LBL_REGISTER', $QUALIFIED_MODULE)}</strong></button>
-                    </div>
-                </span>
-            </div>
-        </div>
-    </form>
-    </div>            
+	<div class="modal-content">
+		{assign var=HEADER_TITLE value={vtranslate('LBL_SIGN_UP_FOR_FREE', $QUALIFIED_MODULE)}}
+		{include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
+		<form class="form-horizontal signUpForm">
+			<input type="hidden" name="module" value="ExtensionStore" />
+			<input type="hidden" name="parent" value="Settings" />
+			<input type="hidden" name="action" value="Basic" />
+			<input type="hidden" name="userAction" value="signup" />
+			<input type="hidden" name="mode" value="registerAccount" />
+			<div class="modal-body col-md-offset-2">
+				<div class="form-group">
+					<span class="control-label col-sm-4">
+						{vtranslate('LBL_EMAIL_ADDRESS', $QUALIFIED_MODULE)}
+					</span>
+					<div class="controls col-sm-5">
+						<input class="inputElement" type="text" name="emailAddress" data-rule-required="true" data-rule-email="true"/>
+					</div>
+				</div>
+				<div class="form-group">
+					<span class="control-label col-sm-4">
+						{vtranslate('LBL_FIRST_NAME', $QUALIFIED_MODULE)}
+					</span>
+					<div class="controls col-sm-5">
+						<input class="inputElement" type="text" name="firstName" data-rule-required="true" />
+					</div>
+				</div>
+				<div class="form-group">
+					<span class="control-label col-sm-4">
+						{vtranslate('LBL_LAST_NAME', $QUALIFIED_MODULE)}
+					</span>
+					<div class="controls col-sm-5">
+						<input class="inputElement" type="text" name="lastName" data-rule-required="true" />
+					</div>
+				</div>
+				<div class="form-group">
+					<span class="control-label col-sm-4">
+						{vtranslate('LBL_COMPANY_NAME', $QUALIFIED_MODULE)}
+					</span>
+					<div class="controls col-sm-5">
+						<input class="inputElement" type="text" name="companyName" data-rule-required="true" />
+					</div>
+				</div>
+				<div class="form-group">
+					<span class="control-label col-sm-4">
+						{vtranslate('LBL_PASSWORD', $QUALIFIED_MODULE)}
+					</span>
+					<div class="controls col-sm-5">
+						<input class="inputElement" type="password" name="password" data-rule-required="true" />
+					</div>
+				</div>
+				<div class="form-group">
+					<span class="control-label col-sm-4">
+						{vtranslate('LBL_CONFIRM_PASSWORD', $QUALIFIED_MODULE)}
+					</span>
+					<div class="controls col-sm-5">
+						<input class="inputElement" type="password" name="confirmPassword" data-rule-required="true"/>
+					</div>
+				</div>
+			</div>
+			<div class="modal-footer">
+				<div class="row-fluid">
+					<span class="col-sm-6">&nbsp;
+					</span>
+					<span class="col-sm-6">
+						<div class="pull-right">
+							<div class="pull-right cancelLinkContainer" style="margin-top:5px;">
+								<a class="cancelLink" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
+							</div>
+							<button class="btn btn-success" name="saveButton"><strong>{vtranslate('LBL_REGISTER', $QUALIFIED_MODULE)}</strong></button>
+						</div>
+					</span>
+				</div>
+			</div>
+		</form>
+	</div>
 </div>
-<!-- Signup form  end-->                
+<!-- Signup form end-->
 
-<!-- Login form  start-->
+<!-- Login form start-->
 <div class="modal-dialog loginAccount hide">
-    <div class="modal-content">
-    {assign var=HEADER_TITLE value={vtranslate('LBL_MARKETPLACE_LOGIN', $QUALIFIED_MODULE)}}
-    {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
-    <form class="form-horizontal loginForm">
-        <input type="hidden" name="module" value="ExtensionStore" />
-        <input type="hidden" name="parent" value="Settings" />
-        <input type="hidden" name="action" value="Basic" />
-        <input type="hidden" name="userAction" value="login" />
-        <input type="hidden" name="mode" value="registerAccount" />
-        <div class="modal-body col-md-offset-2">
-            <div class="form-group">
-                <span class="control-label col-sm-3 fieldLabel">
-                    {vtranslate('LBL_EMAIL', $QUALIFIED_MODULE)}
-                    <span class="redColor">*</span>
-                </span>    
-                <div class="controls col-sm-5">
-                    {if $REGISTRATION_STATUS}
-                        <input type="hidden" name="emailAddress" value="{$USER_NAME}" />
-                        <span class="control-label"><span class="pull-left">{$USER_NAME}</span></span>
-                    {else}
-                        <input type="text" name="emailAddress" data-rule-required="true" data-rule-email="true" />
-                    {/if}
-                </div>
-            </div>
-            <div class="form-group">
-                <span class="control-label fieldLabel col-sm-3">
-                    {vtranslate('LBL_PASSWORD', $QUALIFIED_MODULE)}
-                    <span class="redColor">*</span>
-                </span>
-                <div class="controls col-sm-5">
-                    <input type="password" name="password" data-rule-required="true" />
-                    <br>
-                    <br>
-                    <a href="#" id="forgotPasswordLink">{vtranslate('LBL_FORGOT_PASSWORD', $QUALIFIED_MODULE)} ?</a>
-                </div>
-            </div>
-        </div>
-        <div class="modal-footer">
-            <div class="row-fluid">
-                <span class="col-sm-8">
-                    {if !$REGISTRATION_STATUS}
-                        <a class="pull-left" href="#" name="signUp">{vtranslate('LBL_CREATE_AN_ACCOUNT', $QUALIFIED_MODULE)}</a>
-                    {else}&nbsp;
-                    {/if}
-                </span>
-                <span class="col-sm-4">
-                    <div class="pull-right">
-                        <div class="pull-right cancelLinkContainer" style="margin-top:0px;">
-                            <a class="cancelLink" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
-                        </div>
-                        <button class="btn btn-success" name="saveButton" type="submit"><strong>{vtranslate('LBL_LOGIN', $QUALIFIED_MODULE)}</strong></button>
-                    </div>
-                </span>
-            </div>
-        </div>
-    </form>
-    </div>                
+	<div class="modal-content">
+		{assign var=HEADER_TITLE value={vtranslate('LBL_MARKETPLACE_LOGIN', $QUALIFIED_MODULE)}}
+		{include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
+		<form class="form-horizontal loginForm">
+			<input type="hidden" name="module" value="ExtensionStore" />
+			<input type="hidden" name="parent" value="Settings" />
+			<input type="hidden" name="action" value="Basic" />
+			<input type="hidden" name="userAction" value="login" />
+			<input type="hidden" name="mode" value="registerAccount" />
+			<div class="modal-body col-md-offset-2">
+				<div class="form-group">
+					<span class="control-label col-sm-3 fieldLabel">
+						{vtranslate('LBL_EMAIL', $QUALIFIED_MODULE)}
+						<span class="redColor">*</span>
+					</span>
+					<div class="controls col-sm-5">
+						{if $REGISTRATION_STATUS}
+							<input class="inputElement" type="hidden" name="emailAddress" value="{$USER_NAME}" />
+							<span class="control-label"><span class="pull-left">{$USER_NAME}</span></span>
+							{else}
+							<input class="inputElement" type="text" name="emailAddress" data-rule-required="true" data-rule-email="true" />
+						{/if}
+					</div>
+				</div>
+				<div class="form-group">
+					<span class="control-label fieldLabel col-sm-3">
+						{vtranslate('LBL_PASSWORD', $QUALIFIED_MODULE)}
+						<span class="redColor">*</span>
+					</span>
+					<div class="controls col-sm-5">
+						<input class="inputElement" type="password" name="password" data-rule-required="true" />
+						<br>
+						<br>
+						<label style="font-weight:normal;"><input type="checkbox" name="savePassword" />&nbsp;&nbsp;{vtranslate('LBL_REMEMBER_ME', $QUALIFIED_MODULE)}</label>
+						<br>
+						<br>
+						<a href="#" id="forgotPasswordLink" style="color: #15c !important">{vtranslate('LBL_FORGOT_PASSWORD', $QUALIFIED_MODULE)} ?</a>
+					</div>
+				</div>
+			</div>
+			<div class="modal-footer">
+				<div class="row-fluid">
+					<span class="col-sm-8">
+						{if !$REGISTRATION_STATUS}
+							<a class="pull-left" href="#" name="signUp">{vtranslate('LBL_CREATE_AN_ACCOUNT', $QUALIFIED_MODULE)}</a>
+						{else}&nbsp;
+						{/if}
+					</span>
+					<span class="col-sm-4">
+						<div class="pull-right">
+							<div class="pull-right cancelLinkContainer" style="margin-top:5px;">
+								<a class="cancelLink" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
+							</div>
+							<button class="btn btn-success" name="saveButton" type="submit"><strong>{vtranslate('LBL_LOGIN', $QUALIFIED_MODULE)}</strong></button>
+						</div>
+					</span>
+				</div>
+			</div>
+		</form>
+	</div>
 </div>
 <!-- Login form end -->
 
 <!-- forgot password form -->
 <div class="modal-dialog forgotPasswordModal hide">
-    <div class="modal-content">
-    {assign var=HEADER_TITLE value={vtranslate('LBL_FORGOT_PASSWORD', $QUALIFIED_MODULE)}}
-    {include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
-    <form class="form-horizontal forgotPassword" method="POST">
-        <input type="hidden" name="module" value="ExtensionStore" />
-        <input type="hidden" name="parent" value="Settings" />
-        <input type="hidden" name="action" value="Basic" />
-        <input type="hidden" name="mode" value="forgotPassword" />
-        <div class="modal-body col-md-offset-2">
-            <div class="form-group">
-                <span class="control-label col-sm-4">
-                    {vtranslate('LBL_ENTER_REGISTERED_EMAIL', $QUALIFIED_MODULE)}
-                    <span class="redColor">*</span>
-                </span>
-                <div class="controls col-sm-5">
-                    <input type="text" name="emailAddress" data-rule-required="true" data-rule-email="true" /></div>
-                </div>
-        </div>
-        <div class="modal-footer">
-            <div class="row-fluid">
-                <div class="pull-right">
-                    <div class="pull-right cancelLinkContainer" style="margin-top:0px;">
-                        <a class="cancelLink" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
-                    </div>
-                        <button class="btn btn-success okBtn" type="submit">{vtranslate('LBL_OK', $QUALIFIED_MODULE)}</button>
-                </div>
-            </div>
-        </div>
-    </form>
-    </div>
+	<div class="modal-content">
+		{assign var=HEADER_TITLE value={vtranslate('LBL_FORGOT_PASSWORD', $QUALIFIED_MODULE)}}
+		{include file="ModalHeader.tpl"|vtemplate_path:$MODULE TITLE=$HEADER_TITLE}
+		<form class="form-horizontal forgotPassword" method="POST">
+			<input type="hidden" name="module" value="ExtensionStore" />
+			<input type="hidden" name="parent" value="Settings" />
+			<input type="hidden" name="action" value="Basic" />
+			<input type="hidden" name="mode" value="forgotPassword" />
+			<div class="modal-body col-md-offset-1">
+				<div class="form-group">
+					<span class="control-label col-sm-5">
+						{vtranslate('LBL_ENTER_REGISTERED_EMAIL', $QUALIFIED_MODULE)}
+						<span class="redColor">*</span>
+					</span>
+					<div class="controls col-sm-5">
+						<input class="inputElement" type="text" name="emailAddress" data-rule-required="true" data-rule-email="true" /></div>
+				</div>
+			</div>
+			<div class="modal-footer">
+				<div class="row-fluid">
+					<div class="pull-right">
+						<div class="pull-right cancelLinkContainer" style="margin-top:5px;">
+							<a class="cancelLink" type="reset" data-dismiss="modal">{vtranslate('LBL_CANCEL', $MODULE)}</a>
+						</div>
+						<button class="btn btn-success okBtn" type="submit" style="padding: 5px 12px;">{vtranslate('LBL_OK', $QUALIFIED_MODULE)}</button>
+					</div>
+				</div>
+			</div>
+		</form>
+	</div>
 </div>
 <!-- forgot password form end -->
 {if $LOADER_REQUIRED}
-    <div class="modal extensionLoader hide">
-        <div class="modal-header contentsBackground">
-            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-            <h3>{vtranslate('LBL_INSTALL_EXTENSION_LOADER', $QUALIFIED_MODULE)}</h3>
-        </div>
-        <div class="modal-body">
-            <div class="row-fluid">
-                <p>{vtranslate('LBL_TO_CONTINUE_USING_EXTENSION_STORE', $QUALIFIED_MODULE)}<a href="https://marketplace.vtiger.com/loaderfiles/{$LOADER_INFO['loader_file']}">{vtranslate('LBL_DOWNLOAD', $QUALIFIED_MODULE)}</a>{vtranslate('LBL_COMPATIABLE_EXTENSION', $QUALIFIED_MODULE)}</p>
-            </div>
-            <div class="row-fluid">
-                <p>{vtranslate('LBL_MORE_DETAILS_ON_INSTALLATION', $QUALIFIED_MODULE)}<a onclick=window.open("http://community.vtiger.com/help/vtigercrm/php/extension-loader.html")>{vtranslate('LBL_READ_HERE', $QUALIFIED_MODULE)}</a></p>
-            </div>
-        </div>
-        <div class="modal-footer">
-            <div class="row-fluid">
-                <div class="pull-right">
-                    <div class="pull-right cancelLinkContainer" style="margin-top:0px;">
-                        <button class="btn btn-success" data-dismiss="modal">{vtranslate('LBL_OK', $QUALIFIED_MODULE)}</button>
-                    </div>
-                </div>
-            </div>
-        </div>
-    </div>
+	<div class="modal extensionLoader hide">
+		<div class="modal-header contentsBackground">
+			<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+			<h3>{vtranslate('LBL_INSTALL_EXTENSION_LOADER', $QUALIFIED_MODULE)}</h3>
+		</div>
+		<div class="modal-body">
+			<div class="row-fluid">
+				<p>{vtranslate('LBL_TO_CONTINUE_USING_EXTENSION_STORE', $QUALIFIED_MODULE)}<a href="https://marketplace.vtiger.com/loaderfiles/{$LOADER_INFO['loader_file']}">{vtranslate('LBL_DOWNLOAD', $QUALIFIED_MODULE)}</a>{vtranslate('LBL_COMPATIABLE_EXTENSION', $QUALIFIED_MODULE)}</p>
+			</div>
+			<div class="row-fluid">
+				<p>{vtranslate('LBL_MORE_DETAILS_ON_INSTALLATION', $QUALIFIED_MODULE)}<a onclick=window.open("http://community.vtiger.com/help/vtigercrm/php/extension-loader.html")>{vtranslate('LBL_READ_HERE', $QUALIFIED_MODULE)}</a></p>
+			</div>
+		</div>
+		<div class="modal-footer">
+			<div class="row-fluid">
+				<div class="pull-right">
+					<div class="pull-right cancelLinkContainer" style="margin-top:5px;">
+						<button class="btn btn-success" data-dismiss="modal">{vtranslate('LBL_OK', $QUALIFIED_MODULE)}</button>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
 {/if}
\ No newline at end of file
diff --git a/layouts/v7/modules/Settings/MenuEditor/Index.tpl b/layouts/v7/modules/Settings/MenuEditor/Index.tpl
index 93de1e619ced1ab970c22a5d1a0548302daf0431..da4831d49914a1fc4b92e7ad1ad0d0790d3c791d 100644
--- a/layouts/v7/modules/Settings/MenuEditor/Index.tpl
+++ b/layouts/v7/modules/Settings/MenuEditor/Index.tpl
@@ -46,7 +46,7 @@
 								</span>
 								{assign var='translatedModuleLabel' value=vtranslate($moduleModel->get('label'),$moduleName )}
 								<span>
-									<i class="vicon-{strtolower($moduleName)} marginRight10px pull-left"></i>
+									<span class="marginRight10px pull-left">{$moduleModel->getModuleIcon()}</span>
 								</span>
 								<div class="textOverflowEllipsis marginTop10px textAlignLeft" title="{$translatedModuleLabel}">{$translatedModuleLabel}</div>
 							</div>
diff --git a/layouts/v7/modules/Settings/Workflows/ListViewContents.tpl b/layouts/v7/modules/Settings/Workflows/ListViewContents.tpl
index 64d50232509d88216b23e7866950b6740bf2a6d9..53b5d355113503890e0fe0c7c73180850d13ff98 100644
--- a/layouts/v7/modules/Settings/Workflows/ListViewContents.tpl
+++ b/layouts/v7/modules/Settings/Workflows/ListViewContents.tpl
@@ -127,10 +127,7 @@
 										{elseif $LISTVIEW_HEADERNAME eq 'module_name' && empty($SOURCE_MODULE)}
 											<td class="listViewEntryValue {$WIDTHTYPE}" width="{$WIDTH}%" nowrap>
 												{assign var="MODULE_ICON_NAME" value="{strtolower($LISTVIEW_ENTRY->get('raw_module_name'))}"}
-												{if $MODULE_ICON_NAME eq 'events'}
-													{assign var="MODULE_ICON_NAME" value="calendar"}
-												{/if}
-												<i class="vicon-{$MODULE_ICON_NAME}" title='{$LISTVIEW_ENTRY->get('module_name')}'>&nbsp;</i>
+												{Vtiger_Module_Model::getModuleIconPath($LISTVIEW_ENTRY->get('raw_module_name'))}
 											</td>
 										{else}
 										{/if}
diff --git a/layouts/v7/modules/Vendors/DetailViewHeaderTitle.tpl b/layouts/v7/modules/Vendors/DetailViewHeaderTitle.tpl
index d167c8af9a37c45dc5864ff9aadf26aafc58337d..dcde0e2a3632b192b937025bc7f1615ec990078f 100644
--- a/layouts/v7/modules/Vendors/DetailViewHeaderTitle.tpl
+++ b/layouts/v7/modules/Vendors/DetailViewHeaderTitle.tpl
@@ -10,55 +10,55 @@
 ********************************************************************************/
 -->*}
 {strip}
-    <div class="col-lg-6 col-md-6 col-sm-6">
-            <div class="record-header clearfix">
-                <div class="hidden-sm hidden-xs recordImage bgvendors app-{$SELECTED_MENU_CATEGORY}">
-                    <div class="name"><span><strong> <i class="vicon-vendors"></i> </strong></span></div>
-                </div>
-                <div class="recordBasicInfo">
-                    <div class="info-row">
-                        <h4>
-                            <span class="recordLabel pushDown" title="{$RECORD->getName()}">
-                                {foreach item=NAME_FIELD from=$MODULE_MODEL->getNameFields()}
-                                    {assign var=FIELD_MODEL value=$MODULE_MODEL->getField($NAME_FIELD)}
-                                    {if $FIELD_MODEL->getPermissions()}
-                                        <span class="{$NAME_FIELD}">{$RECORD->get($NAME_FIELD)}</span>&nbsp;
-                                    {/if}
-                                {/foreach}
-                            </span>
-                        </h4>
-                    </div>
-                    {include file="DetailViewHeaderFieldsView.tpl"|vtemplate_path:$MODULE}
-                    
-                    {*
-                    <div class="info-row row">
-                        {assign var=FIELD_MODEL value=$MODULE_MODEL->getField('website')}
-                        <div class="col-lg-7 fieldLabel">
-                            <span class="website" title="{vtranslate($FIELD_MODEL->get('label'),$MODULE)} : {$RECORD->get('website')}">
-                                {$RECORD->getDisplayValue("website")}
-                            </span>
-                        </div>
-                    </div>
+	<div class="col-lg-6 col-md-6 col-sm-6">
+		<div class="record-header clearfix">
+			<div class="hidden-sm hidden-xs recordImage bgvendors app-{$SELECTED_MENU_CATEGORY}">
+				<div class="name"><span><strong>{$MODULE_MODEL->getModuleIcon()}</strong></span></div>
+			</div>
+			<div class="recordBasicInfo">
+				<div class="info-row">
+					<h4>
+						<span class="recordLabel pushDown" title="{$RECORD->getName()}">
+							{foreach item=NAME_FIELD from=$MODULE_MODEL->getNameFields()}
+								{assign var=FIELD_MODEL value=$MODULE_MODEL->getField($NAME_FIELD)}
+								{if $FIELD_MODEL->getPermissions()}
+									<span class="{$NAME_FIELD}">{$RECORD->get($NAME_FIELD)}</span>&nbsp;
+								{/if}
+							{/foreach}
+						</span>
+					</h4>
+				</div>
+				{include file="DetailViewHeaderFieldsView.tpl"|vtemplate_path:$MODULE}
 
-                    <div class="info-row row">
-                        {assign var=FIELD_MODEL value=$MODULE_MODEL->getField('email')}
-                        <div class="col-lg-7 fieldLabel">
-                            <span class="email" title="{vtranslate($FIELD_MODEL->get('label'),$MODULE)} : {$RECORD->get('email')}">
-                                {$RECORD->getDisplayValue("email")}
-                            </span>
-                        </div>
-                    </div>
+				{*
+				<div class="info-row row">
+					{assign var=FIELD_MODEL value=$MODULE_MODEL->getField('website')}
+					<div class="col-lg-7 fieldLabel">
+						<span class="website" title="{vtranslate($FIELD_MODEL->get('label'),$MODULE)} : {$RECORD->get('website')}">
+							{$RECORD->getDisplayValue("website")}
+						</span>
+					</div>
+				</div>
 
-                    <div class="info-row row">
-                        {assign var=FIELD_MODEL value=$MODULE_MODEL->getField('phone')}
-                        <div class="col-lg-7 fieldLabel">
-                            <span class="phone" title="{vtranslate($FIELD_MODEL->get('label'),$MODULE)} : {$RECORD->get('phone')}">
-                                {$RECORD->getDisplayValue("phone")}
-                            </span>
-                        </div>
-                    </div>
-                    *}
-                </div>
-            </div>
-    </div>
+				<div class="info-row row">
+					{assign var=FIELD_MODEL value=$MODULE_MODEL->getField('email')}
+					<div class="col-lg-7 fieldLabel">
+						<span class="email" title="{vtranslate($FIELD_MODEL->get('label'),$MODULE)} : {$RECORD->get('email')}">
+							{$RECORD->getDisplayValue("email")}
+						</span>
+					</div>
+				</div>
+
+				<div class="info-row row">
+					{assign var=FIELD_MODEL value=$MODULE_MODEL->getField('phone')}
+					<div class="col-lg-7 fieldLabel">
+						<span class="phone" title="{vtranslate($FIELD_MODEL->get('label'),$MODULE)} : {$RECORD->get('phone')}">
+							{$RECORD->getDisplayValue("phone")}
+						</span>
+					</div>
+				</div>
+				*}
+			</div>
+		</div>
+	</div>
 {/strip}
\ No newline at end of file
diff --git a/layouts/v7/modules/Vtiger/DetailViewHeaderTitle.tpl b/layouts/v7/modules/Vtiger/DetailViewHeaderTitle.tpl
index e414c299701ff036c174951dd927d463ddd45635..66ac8a4e45ac8d518fa6abd694a8ea5055ff3c28 100644
--- a/layouts/v7/modules/Vtiger/DetailViewHeaderTitle.tpl
+++ b/layouts/v7/modules/Vtiger/DetailViewHeaderTitle.tpl
@@ -14,9 +14,7 @@
 				{assign var=MODULE value=$MODULE_NAME}
 			{/if}
 			<div class="hidden-sm hidden-xs recordImage bg_{$MODULE} app-{$SELECTED_MENU_CATEGORY}">
-				<div class="name">
-					<span><strong><i class="vicon-{strtolower($MODULE)}"></i></strong></span>
-				</div>  
+				<div class="name"><span><strong>{$MODULE_MODEL->getModuleIcon()}</strong></span></div>
 			</div>
 
 			<div class="recordBasicInfo">
diff --git a/layouts/v7/modules/Vtiger/ModuleRelatedTabs.tpl b/layouts/v7/modules/Vtiger/ModuleRelatedTabs.tpl
index 7df8ada2ede51a8af2e27693454f319386e22fc8..d3bc58e83963f4bc05aab5658259e1bb3ae37b3e 100644
--- a/layouts/v7/modules/Vtiger/ModuleRelatedTabs.tpl
+++ b/layouts/v7/modules/Vtiger/ModuleRelatedTabs.tpl
@@ -51,7 +51,7 @@
 								{else}
 							<span class="tab-icon">
 								{assign var=RELATED_MODULE_MODEL value=Vtiger_Module_Model::getInstance($RELATEDMODULENAME)}  
-								<i class="vicon-{strtolower($RELATEDMODULENAME)}" ></i>
+								{$RELATED_MODULE_MODEL->getModuleIcon()}
 							</span>
 						{/if}
 						<span class="numberCircle hide">0</span>
@@ -76,7 +76,7 @@
 								{else}  
 									<span class="tab-icon">
 										{assign var=RELATED_MODULE_MODEL value=Vtiger_Module_Model::getInstance($RELATEDMODULENAME)}  
-										<i class="vicon-{strtolower($RELATEDMODULENAME)}" ></i>
+										{$RELATED_MODULE_MODEL->getModuleIcon()}
 									</span>
 								{/if}
 								<span class="numberCircle hide">0</span>
@@ -107,7 +107,7 @@
 									{else}  
 										{assign var=RELATED_MODULE_MODEL value=Vtiger_Module_Model::getInstance($RELATEDMODULENAME)}  
 										<span class="tab-icon textOverflowEllipsis">
-											<i class="vicon-{strtolower($RELATEDMODULENAME)}"></i>
+											{$RELATED_MODULE_MODEL->getModuleIcon()}
 											<span class="content"> &nbsp;{$DETAILVIEWRELATEDLINKLBL}</span>
 										</span>
 									{/if}
diff --git a/layouts/v7/modules/Vtiger/RecentActivities.tpl b/layouts/v7/modules/Vtiger/RecentActivities.tpl
index 852f2df3cf028e655bac0ee150209d6f17fd222b..0da6885c3a69677aadd46d28da47fb2e75db8761 100644
--- a/layouts/v7/modules/Vtiger/RecentActivities.tpl
+++ b/layouts/v7/modules/Vtiger/RecentActivities.tpl
@@ -112,14 +112,14 @@
                                         <small title="{Vtiger_Util_Helper::formatDateTimeIntoDayString($RELATION->get('changedon'))}">
                                             {Vtiger_Util_Helper::formatDateDiffInStrings($RELATION->get('changedon'))} </small>
                                     </time>
-                                    {if {$RELATED_MODULE|strtolower eq 'modcomments'}}
-                                        {assign var="VICON_MODULES" value="vicon-chat"}
-                                    {else}
-                                        {assign var="VICON_MODULES" value="vicon-{$RELATED_MODULE|strtolower}"}
-                                    {/if}
-                                    <div class="update_icon  bg-info-{$RELATED_MODULE|strtolower}">
-										<i class="update_image {$VICON_MODULES}"></i>
-                                    </div>
+									<div class="update_icon bg-info-{$RELATED_MODULE|strtolower}">
+										{if {$RELATED_MODULE|strtolower eq 'modcomments'}}
+											{assign var="VICON_MODULES" value="vicon-chat"}
+											<i class="update_image {$VICON_MODULES}"></i>
+										{else}
+											<span class="update_image">{Vtiger_Module_Model::getModuleIconPath($RELATED_MODULE)}</span>
+										{/if}
+									</div>
                                     <div class="update_info">
                                         <h5>
                                             {assign var=RELATION value=$RECENT_ACTIVITY->getRelationInstance()}
diff --git a/layouts/v7/modules/Vtiger/dashboards/HistoryContents.tpl b/layouts/v7/modules/Vtiger/dashboards/HistoryContents.tpl
index 44275ba1d52e4a0407a64ac91ed4d9dfa4fbe6c7..6cce186ed8b41154f57cc30b36b9f06a22210562 100644
--- a/layouts/v7/modules/Vtiger/dashboards/HistoryContents.tpl
+++ b/layouts/v7/modules/Vtiger/dashboards/HistoryContents.tpl
@@ -35,7 +35,7 @@
 							{else if $MOD_NAME eq "Calendar"}
 								{assign var=VT_ICON value="Task"}
 							{/if}
-							<span><i class="vicon-{strtolower($VT_ICON)} entryIcon" title={$TRANSLATED_MODULE_NAME}></i></span>&nbsp;&nbsp;
+							<span>{$HISTORY->getParent()->getModule()->getModuleIcon($VT_ICON)}</span>&nbsp;&nbsp;
 						</div>
 						<div class="col-lg-10 pull-left">
 							{assign var=DETAILVIEW_URL value=$PARENT->getDetailViewUrl()}
diff --git a/layouts/v7/modules/Vtiger/partials/Menubar.tpl b/layouts/v7/modules/Vtiger/partials/Menubar.tpl
index 6aa31ce053dd2b8745a97e5340409e54f83f967a..646efc9082143a1d81bc7f380f3dc994e4007958 100644
--- a/layouts/v7/modules/Vtiger/partials/Menubar.tpl
+++ b/layouts/v7/modules/Vtiger/partials/Menubar.tpl
@@ -16,7 +16,7 @@
 		<ul title="{$translatedModuleLabel}" class="module-qtip">
 			<li {if $MODULE eq $moduleName}class="active"{else}class=""{/if}>
 				<a href="{$moduleModel->getDefaultUrl()}&app={$SELECTED_MENU_CATEGORY}">
-					<i class="vicon-{strtolower($moduleName)}"></i>
+					{$moduleModel->getModuleIcon()}
 					<span>{$translatedModuleLabel}</span>
 				</a>
 			</li>
diff --git a/layouts/v7/modules/Vtiger/partials/SidebarAppMenu.tpl b/layouts/v7/modules/Vtiger/partials/SidebarAppMenu.tpl
index c7bb2e137c8dd7f6298d0a0c41224067f7f30df5..0d9a812c3d741d1f5badc83793163f09ad513026 100644
--- a/layouts/v7/modules/Vtiger/partials/SidebarAppMenu.tpl
+++ b/layouts/v7/modules/Vtiger/partials/SidebarAppMenu.tpl
@@ -52,7 +52,7 @@
 								{assign var='translatedModuleLabel' value=vtranslate($moduleModel->get('label'),$moduleName )}
 								<li>
 									<a href="{$moduleModel->getDefaultUrl()}&app={$APP_NAME}" title="{$translatedModuleLabel}">
-										<span class="vicon-{strtolower($moduleName)} module-icon"></span>
+										<span class="module-icon">{$moduleModel->getModuleIcon()}</span>
 										<span class="module-name textOverflowEllipsis"> {$translatedModuleLabel}</span>
 									</a>
 								</li>
@@ -66,7 +66,7 @@
 			{if $USER_PRIVILEGES_MODEL->hasModulePermission($MAILMANAGER_MODULE_MODEL->getId())}
 				<div class="menu-item app-item app-item-misc" data-default-url="index.php?module=MailManager&view=List">
 					<div class="menu-items-wrapper">
-						<span class="app-icon-list fa vicon-mailmanager"></span>
+						<span class="app-icon-list fa">{$MAILMANAGER_MODULE_MODEL->getModuleIcon()}</span>
 						<span class="app-name textOverflowEllipsis"> {vtranslate('MailManager')}</span>
 					</div>
 				</div>
@@ -75,7 +75,7 @@
 			{if $USER_PRIVILEGES_MODEL->hasModulePermission($DOCUMENTS_MODULE_MODEL->getId())}
 				<div class="menu-item app-item app-item-misc" data-default-url="index.php?module=Documents&view=List">
 					<div class="menu-items-wrapper">
-						<span class="app-icon-list fa vicon-documents"></span>
+						<span class="app-icon-list fa">{$DOCUMENTS_MODULE_MODEL->getModuleIcon()}</span>
 						<span class="app-name textOverflowEllipsis"> {vtranslate('Documents')}</span>
 					</div>
 				</div>
@@ -109,7 +109,7 @@
 					{if $EMAILTEMPLATES_MODULE_MODEL && $USER_PRIVILEGES_MODEL->hasModulePermission($EMAILTEMPLATES_MODULE_MODEL->getId())}
 						<li>
 							<a href="{$EMAILTEMPLATES_MODULE_MODEL->getDefaultUrl()}">
-								<span class="fa vicon-emailtemplates module-icon"></span>
+								<span class="fa module-icon">{$EMAILTEMPLATES_MODULE_MODEL->getModuleIcon()}</span>
 								<span class="module-name textOverflowEllipsis"> {vtranslate($EMAILTEMPLATES_MODULE_MODEL->getName(), $EMAILTEMPLATES_MODULE_MODEL->getName())}</span>
 							</a>
 						</li>
diff --git a/layouts/v7/modules/Vtiger/partials/Topbar.tpl b/layouts/v7/modules/Vtiger/partials/Topbar.tpl
index 50f71257254d3b461f69f3c4ee17df3cfcd84afb..8047e2c05893db48e92be27d76426698b5ae5aa7 100644
--- a/layouts/v7/modules/Vtiger/partials/Topbar.tpl
+++ b/layouts/v7/modules/Vtiger/partials/Topbar.tpl
@@ -70,7 +70,7 @@
 																{assign var='singularLabel' value='LBL_TASK'}
 																<div class="{if $hideDiv}create_restricted_{$moduleModel->getName()} hide{else}col-lg-4{/if}">
 																	<a id="menubar_quickCreate_Events" class="quickCreateModule" data-name="Events"
-																	   data-url="index.php?module=Events&view=QuickCreateAjax" href="javascript:void(0)"><i class="vicon-calendar pull-left"></i><span class="quick-create-module">{vtranslate('LBL_EVENT',$moduleName)}</span></a>
+																	   data-url="index.php?module=Events&view=QuickCreateAjax" href="javascript:void(0)">{$moduleModel->getModuleIcon('Event')}<span class="quick-create-module">{vtranslate('LBL_EVENT',$moduleName)}</span></a>
 																</div>
 																{if $count % 3 == 2}
 																	</div>
@@ -79,7 +79,7 @@
 																{/if}
 																<div class="{if $hideDiv}create_restricted_{$moduleModel->getName()} hide{else}col-lg-4{/if}">
 																	<a id="menubar_quickCreate_{$moduleModel->getName()}" class="quickCreateModule" data-name="{$moduleModel->getName()}"
-																	   data-url="{$moduleModel->getQuickCreateUrl()}" href="javascript:void(0)"><i class="vicon-task pull-left"></i><span class="quick-create-module">{vtranslate($singularLabel,$moduleName)}</span></a>
+																	   data-url="{$moduleModel->getQuickCreateUrl()}" href="javascript:void(0)">{$moduleModel->getModuleIcon('Task')}<span class="quick-create-module">{vtranslate($singularLabel,$moduleName)}</span></a>
 																</div>
 																{if !$hideDiv}
 																	{assign var='count' value=$count+1}
@@ -88,7 +88,7 @@
 																<div class="{if $hideDiv}create_restricted_{$moduleModel->getName()} hide{else}col-lg-4{/if} dropdown">
 																	<a id="menubar_quickCreate_{$moduleModel->getName()}" class="quickCreateModuleSubmenu dropdown-toggle" data-name="{$moduleModel->getName()}" data-toggle="dropdown" 
 																	   data-url="{$moduleModel->getQuickCreateUrl()}" href="javascript:void(0)">
-																		<i class="vicon-{strtolower($moduleName)} pull-left"></i>
+																		{$moduleModel->getModuleIcon()}
 																		<span class="quick-create-module">
 																			{vtranslate($singularLabel,$moduleName)}
 																			<i class="fa fa-caret-down quickcreateMoreDropdownAction"></i>
@@ -112,7 +112,7 @@
 																<div class="{if $hideDiv}create_restricted_{$moduleModel->getName()} hide{else}col-lg-4{/if}">
 																	<a id="menubar_quickCreate_{$moduleModel->getName()}" class="quickCreateModule" data-name="{$moduleModel->getName()}"
 																	   data-url="{$moduleModel->getQuickCreateUrl()}" href="javascript:void(0)">
-																		<i class="vicon-{strtolower($moduleName)} pull-left"></i>
+																		{$moduleModel->getModuleIcon()}
 																		<span class="quick-create-module">{vtranslate($singularLabel,$moduleName)}</span>
 																	</a>
 																</div>
diff --git a/layouts/v7/skins/contact/style.css b/layouts/v7/skins/contact/style.css
index 1d93de09e6489e115f161230d71181c6817afa09..87eccfbebdfdd00cdd836b5bcc12b6fd80333e84 100644
--- a/layouts/v7/skins/contact/style.css
+++ b/layouts/v7/skins/contact/style.css
@@ -1423,7 +1423,7 @@ ul.unstyled {
 }
 .listview-table-norecords .table-actions,
 .listview-table .table-actions {
-  width: 110px;
+  width: 120px;
   font-size: 15px;
   color: #555;
   margin-left: 7px;
@@ -7321,4 +7321,63 @@ input:focus:-ms-input-placeholder {
 }
 .duplicationMessageContainer .duplicationMessageHeader {
   margin-bottom: 8px;
+}
+.listViewRecordActions .quickView, .listViewRecordActions .markStar,
+.listViewRecordActions .markAsHeld,.listViewRecordActions .holdFollowupOn {
+  margin-top: 4px;
+}
+.app-menu .module-icon .custom-module {
+	font-size: 14px;
+	border-radius: 4px;
+	color: #000;
+	background-color: #fff;
+	padding: 4px 10px 4px 5px !important
+}
+.menu-item .custom-module {
+	font-family: 'OpenSans-Regular', sans-serif;
+	font-size: 12px;
+	border-radius: 4px;
+	padding: 2px;
+	color: #000;
+	background-color: #fff;
+}
+.modules-menu .custom-module {
+	color: #fff;
+	margin-left: 0px;
+	display: inline;
+	border: 1px solid #fff;
+	border-radius: 4px;
+	padding: 3px 4px 3px 2px !important;
+	font-weight: bold;
+}
+#quickCreateModules .custom-module, .workflowListContainer .custom-module, .dashBoardTabContents .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #fff;
+	background-color: #777;
+}
+.menuEditorItem .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #000;
+	background-color: #fff;
+}
+.task-details .custom-module {
+	border-radius: 4px;
+	padding: 1px 4px;
+	color: white;
+	background-color: #777;
+}
+.related-tabs .custom-module, #relatedmenuList .custom-module {
+	border-radius: 4px;
+	color: #fff;
+	background-color: #777;
+	padding: 5px 7px;
+	font-weight: bold;
+}
+.record-header .custom-module {
+	font-size: 30px;
+}
+.moduleIcon .custom-module {
+	font-weight: bold;
 }
\ No newline at end of file
diff --git a/layouts/v7/skins/inventory/style.css b/layouts/v7/skins/inventory/style.css
index a6d471f15e0a4c3f4d4eb78c5286a4544d4e478a..2f7e4b048d9e28ba9ef5436b50e4c93fb5dd3e35 100644
--- a/layouts/v7/skins/inventory/style.css
+++ b/layouts/v7/skins/inventory/style.css
@@ -1423,7 +1423,7 @@ ul.unstyled {
 }
 .listview-table-norecords .table-actions,
 .listview-table .table-actions {
-  width: 110px;
+  width: 120px;
   font-size: 15px;
   color: #555;
   margin-left: 7px;
@@ -7325,4 +7325,63 @@ input:focus:-ms-input-placeholder {
 }
 .duplicationMessageContainer .duplicationMessageHeader {
   margin-bottom: 8px;
+}
+.listViewRecordActions .quickView, .listViewRecordActions .markStar,
+.listViewRecordActions .markAsHeld,.listViewRecordActions .holdFollowupOn {
+  margin-top: 4px;
+}
+.app-menu .module-icon .custom-module {
+	font-size: 14px;
+	border-radius: 4px;
+	color: #000;
+	background-color: #fff;
+	padding: 4px 10px 4px 5px !important
+}
+.menu-item .custom-module {
+	font-family: 'OpenSans-Regular', sans-serif;
+	font-size: 12px;
+	border-radius: 4px;
+	padding: 2px;
+	color: #000;
+	background-color: #fff;
+}
+.modules-menu .custom-module {
+	color: #fff;
+	margin-left: 0px;
+	display: inline;
+	border: 1px solid #fff;
+	border-radius: 4px;
+	padding: 3px 4px 3px 2px !important;
+	font-weight: bold;
+}
+#quickCreateModules .custom-module, .workflowListContainer .custom-module, .dashBoardTabContents .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #fff;
+	background-color: #777;
+}
+.menuEditorItem .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #000;
+	background-color: #fff;
+}
+.task-details .custom-module {
+	border-radius: 4px;
+	padding: 1px 4px;
+	color: white;
+	background-color: #777;
+}
+.related-tabs .custom-module, #relatedmenuList .custom-module {
+	border-radius: 4px;
+	color: #fff;
+	background-color: #777;
+	padding: 5px 7px;
+	font-weight: bold;
+}
+.record-header .custom-module {
+	font-size: 30px;
+}
+.moduleIcon .custom-module {
+	font-weight: bold;
 }
\ No newline at end of file
diff --git a/layouts/v7/skins/marketing/style.css b/layouts/v7/skins/marketing/style.css
index 639b11fd49d5a919cdf2859d6556180ef78ba542..3d4202ca4f27901ec3e7c590dccd2f742b283d4d 100644
--- a/layouts/v7/skins/marketing/style.css
+++ b/layouts/v7/skins/marketing/style.css
@@ -1423,7 +1423,7 @@ ul.unstyled {
 }
 .listview-table-norecords .table-actions,
 .listview-table .table-actions {
-  width: 110px;
+  width: 120px;
   font-size: 15px;
   color: #555;
   margin-left: 7px;
@@ -7587,4 +7587,63 @@ a.btnReport:hover {
 }
 .duplicationMessageContainer .duplicationMessageHeader {
   margin-bottom: 8px;
+}
+.listViewRecordActions .quickView, .listViewRecordActions .markStar,
+.listViewRecordActions .markAsHeld,.listViewRecordActions .holdFollowupOn {
+  margin-top: 4px;
+}
+.app-menu .module-icon .custom-module {
+	font-size: 14px;
+	border-radius: 4px;
+	color: #000;
+	background-color: #fff;
+	padding: 4px 10px 4px 5px !important
+}
+.menu-item .custom-module {
+	font-family: 'OpenSans-Regular', sans-serif;
+	font-size: 12px;
+	border-radius: 4px;
+	padding: 2px;
+	color: #000;
+	background-color: #fff;
+}
+.modules-menu .custom-module {
+	color: #fff;
+	margin-left: 0px;
+	display: inline;
+	border: 1px solid #fff;
+	border-radius: 4px;
+	padding: 3px 4px 3px 2px !important;
+	font-weight: bold;
+}
+#quickCreateModules .custom-module, .workflowListContainer .custom-module, .dashBoardTabContents .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #fff;
+	background-color: #777;
+}
+.menuEditorItem .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #000;
+	background-color: #fff;
+}
+.task-details .custom-module {
+	border-radius: 4px;
+	padding: 1px 4px;
+	color: white;
+	background-color: #777;
+}
+.related-tabs .custom-module, #relatedmenuList .custom-module {
+	border-radius: 4px;
+	color: #fff;
+	background-color: #777;
+	padding: 5px 7px;
+	font-weight: bold;
+}
+.record-header .custom-module {
+	font-size: 30px;
+}
+.moduleIcon .custom-module {
+	font-weight: bold;
 }
\ No newline at end of file
diff --git a/layouts/v7/skins/marketing_and_sales/style.css b/layouts/v7/skins/marketing_and_sales/style.css
index 000ed7af63eb1c0d1d4a84e3cfcf891e20782bdc..28c2a6f30c5060eb9afceab1a1702db6403b0eec 100644
--- a/layouts/v7/skins/marketing_and_sales/style.css
+++ b/layouts/v7/skins/marketing_and_sales/style.css
@@ -1423,7 +1423,7 @@ ul.unstyled {
 }
 .listview-table-norecords .table-actions,
 .listview-table .table-actions {
-  width: 110px;
+  width: 120px;
   font-size: 15px;
   color: #555;
   margin-left: 7px;
@@ -7326,3 +7326,62 @@ input:focus:-ms-input-placeholder {
 .duplicationMessageContainer .duplicationMessageHeader {
   margin-bottom: 8px;
 }
+.listViewRecordActions .quickView, .listViewRecordActions .markStar,
+.listViewRecordActions .markAsHeld,.listViewRecordActions .holdFollowupOn {
+  margin-top: 4px;
+}
+.app-menu .module-icon .custom-module {
+	font-size: 14px;
+	border-radius: 4px;
+	color: #000;
+	background-color: #fff;
+	padding: 4px 10px 4px 5px !important
+}
+.menu-item .custom-module {
+	font-family: 'OpenSans-Regular', sans-serif;
+	font-size: 12px;
+	border-radius: 4px;
+	padding: 2px;
+	color: #000;
+	background-color: #fff;
+}
+.modules-menu .custom-module {
+	color: #fff;
+	margin-left: 0px;
+	display: inline;
+	border: 1px solid #fff;
+	border-radius: 4px;
+	padding: 3px 4px 3px 2px !important;
+	font-weight: bold;
+}
+#quickCreateModules .custom-module, .workflowListContainer .custom-module, .dashBoardTabContents .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #fff;
+	background-color: #777;
+}
+.menuEditorItem .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #000;
+	background-color: #fff;
+}
+.task-details .custom-module {
+	border-radius: 4px;
+	padding: 1px 4px;
+	color: white;
+	background-color: #777;
+}
+.related-tabs .custom-module, #relatedmenuList .custom-module {
+	border-radius: 4px;
+	color: #fff;
+	background-color: #777;
+	padding: 5px 7px;
+	font-weight: bold;
+}
+.record-header .custom-module {
+	font-size: 30px;
+}
+.moduleIcon .custom-module {
+	font-weight: bold;
+}
diff --git a/layouts/v7/skins/project/style.css b/layouts/v7/skins/project/style.css
index e0de4af69c8db429d97fa5ca3b23ec591eaebe5b..489bd72173fc038b8895297ae4f1ed5ebfa16e66 100644
--- a/layouts/v7/skins/project/style.css
+++ b/layouts/v7/skins/project/style.css
@@ -1423,7 +1423,7 @@ ul.unstyled {
 }
 .listview-table-norecords .table-actions,
 .listview-table .table-actions {
-  width: 110px;
+  width: 120px;
   font-size: 15px;
   color: #555;
   margin-left: 7px;
@@ -7325,4 +7325,63 @@ input:focus:-ms-input-placeholder {
 }
 .duplicationMessageContainer .duplicationMessageHeader {
   margin-bottom: 8px;
+}
+.listViewRecordActions .quickView, .listViewRecordActions .markStar,
+.listViewRecordActions .markAsHeld,.listViewRecordActions .holdFollowupOn {
+  margin-top: 4px;
+}
+.app-menu .module-icon .custom-module {
+	font-size: 14px;
+	border-radius: 4px;
+	color: #000;
+	background-color: #fff;
+	padding: 4px 10px 4px 5px !important
+}
+.menu-item .custom-module {
+	font-family: 'OpenSans-Regular', sans-serif;
+	font-size: 12px;
+	border-radius: 4px;
+	padding: 2px;
+	color: #000;
+	background-color: #fff;
+}
+.modules-menu .custom-module {
+	color: #fff;
+	margin-left: 0px;
+	display: inline;
+	border: 1px solid #fff;
+	border-radius: 4px;
+	padding: 3px 4px 3px 2px !important;
+	font-weight: bold;
+}
+#quickCreateModules .custom-module, .workflowListContainer .custom-module, .dashBoardTabContents .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #fff;
+	background-color: #777;
+}
+.menuEditorItem .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #000;
+	background-color: #fff;
+}
+.task-details .custom-module {
+	border-radius: 4px;
+	padding: 1px 4px;
+	color: white;
+	background-color: #777;
+}
+.related-tabs .custom-module, #relatedmenuList .custom-module {
+	border-radius: 4px;
+	color: #fff;
+	background-color: #777;
+	padding: 5px 7px;
+	font-weight: bold;
+}
+.record-header .custom-module {
+	font-size: 30px;
+}
+.moduleIcon .custom-module {
+	font-weight: bold;
 }
\ No newline at end of file
diff --git a/layouts/v7/skins/sales/style.css b/layouts/v7/skins/sales/style.css
index 7ac2e61a920a6214fbe55505617aa6825f2a6dc4..75e92f9288a72c904025e78470e7714f243184f3 100644
--- a/layouts/v7/skins/sales/style.css
+++ b/layouts/v7/skins/sales/style.css
@@ -1423,7 +1423,7 @@ ul.unstyled {
 }
 .listview-table-norecords .table-actions,
 .listview-table .table-actions {
-  width: 110px;
+  width: 120px;
   font-size: 15px;
   color: #555;
   margin-left: 7px;
@@ -7325,4 +7325,63 @@ input:focus:-ms-input-placeholder {
 }
 .duplicationMessageContainer .duplicationMessageHeader {
   margin-bottom: 8px;
+}
+.listViewRecordActions .quickView, .listViewRecordActions .markStar,
+.listViewRecordActions .markAsHeld,.listViewRecordActions .holdFollowupOn {
+  margin-top: 4px;
+}
+.app-menu .module-icon .custom-module {
+	font-size: 14px;
+	border-radius: 4px;
+	color: #000;
+	background-color: #fff;
+	padding: 4px 10px 4px 5px !important
+}
+.menu-item .custom-module {
+	font-family: 'OpenSans-Regular', sans-serif;
+	font-size: 12px;
+	border-radius: 4px;
+	padding: 2px;
+	color: #000;
+	background-color: #fff;
+}
+.modules-menu .custom-module {
+	color: #fff;
+	margin-left: 0px;
+	display: inline;
+	border: 1px solid #fff;
+	border-radius: 4px;
+	padding: 3px 4px 3px 2px !important;
+	font-weight: bold;
+}
+#quickCreateModules .custom-module, .workflowListContainer .custom-module, .dashBoardTabContents .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #fff;
+	background-color: #777;
+}
+.menuEditorItem .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #000;
+	background-color: #fff;
+}
+.task-details .custom-module {
+	border-radius: 4px;
+	padding: 1px 4px;
+	color: white;
+	background-color: #777;
+}
+.related-tabs .custom-module, #relatedmenuList .custom-module {
+	border-radius: 4px;
+	color: #fff;
+	background-color: #777;
+	padding: 5px 7px;
+	font-weight: bold;
+}
+.record-header .custom-module {
+	font-size: 30px;
+}
+.moduleIcon .custom-module {
+	font-weight: bold;
 }
\ No newline at end of file
diff --git a/layouts/v7/skins/support/style.css b/layouts/v7/skins/support/style.css
index 276815c684f394ddbd283d7483bfc427927d71fd..debe4b5fe24f303a5cb5c4496f639fafc359c4a0 100644
--- a/layouts/v7/skins/support/style.css
+++ b/layouts/v7/skins/support/style.css
@@ -1423,7 +1423,7 @@ ul.unstyled {
 }
 .listview-table-norecords .table-actions,
 .listview-table .table-actions {
-  width: 110px;
+  width: 120px;
   font-size: 15px;
   color: #555;
   margin-left: 7px;
@@ -7456,4 +7456,63 @@ div.flip {
 }
 .duplicationMessageContainer .duplicationMessageHeader {
   margin-bottom: 8px;
+}
+.listViewRecordActions .quickView, .listViewRecordActions .markStar,
+.listViewRecordActions .markAsHeld,.listViewRecordActions .holdFollowupOn {
+  margin-top: 4px;
+}
+.app-menu .module-icon .custom-module {
+	font-size: 14px;
+	border-radius: 4px;
+	color: #000;
+	background-color: #fff;
+	padding: 4px 10px 4px 5px !important
+}
+.menu-item .custom-module {
+	font-family: 'OpenSans-Regular', sans-serif;
+	font-size: 12px;
+	border-radius: 4px;
+	padding: 2px;
+	color: #000;
+	background-color: #fff;
+}
+.modules-menu .custom-module {
+	color: #fff;
+	margin-left: 0px;
+	display: inline;
+	border: 1px solid #fff;
+	border-radius: 4px;
+	padding: 3px 4px 3px 2px !important;
+	font-weight: bold;
+}
+#quickCreateModules .custom-module, .workflowListContainer .custom-module, .dashBoardTabContents .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #fff;
+	background-color: #777;
+}
+.menuEditorItem .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #000;
+	background-color: #fff;
+}
+.task-details .custom-module {
+	border-radius: 4px;
+	padding: 1px 4px;
+	color: white;
+	background-color: #777;
+}
+.related-tabs .custom-module, #relatedmenuList .custom-module {
+	border-radius: 4px;
+	color: #fff;
+	background-color: #777;
+	padding: 5px 7px;
+	font-weight: bold;
+}
+.record-header .custom-module {
+	font-size: 30px;
+}
+.moduleIcon .custom-module {
+	font-weight: bold;
 }
\ No newline at end of file
diff --git a/layouts/v7/skins/tools/style.css b/layouts/v7/skins/tools/style.css
index aa3055cfe7746e8b522f4554efa0cfb72a5ed0ef..0f56c1ee17daf9d3bd7e9490949f7e11def2f587 100644
--- a/layouts/v7/skins/tools/style.css
+++ b/layouts/v7/skins/tools/style.css
@@ -1423,7 +1423,7 @@ ul.unstyled {
 }
 .listview-table-norecords .table-actions,
 .listview-table .table-actions {
-  width: 110px;
+  width: 120px;
   font-size: 15px;
   color: #555;
   margin-left: 7px;
@@ -7321,4 +7321,63 @@ input:focus:-ms-input-placeholder {
 }
 .duplicationMessageContainer .duplicationMessageHeader {
   margin-bottom: 8px;
+}
+.listViewRecordActions .quickView, .listViewRecordActions .markStar,
+.listViewRecordActions .markAsHeld,.listViewRecordActions .holdFollowupOn {
+  margin-top: 4px;
+}
+.app-menu .module-icon .custom-module {
+	font-size: 14px;
+	border-radius: 4px;
+	color: #000;
+	background-color: #fff;
+	padding: 4px 10px 4px 5px !important
+}
+.menu-item .custom-module {
+	font-family: 'OpenSans-Regular', sans-serif;
+	font-size: 12px;
+	border-radius: 4px;
+	padding: 2px;
+	color: #000;
+	background-color: #fff;
+}
+.modules-menu .custom-module {
+	color: #fff;
+	margin-left: 0px;
+	display: inline;
+	border: 1px solid #fff;
+	border-radius: 4px;
+	padding: 3px 4px 3px 2px !important;
+	font-weight: bold;
+}
+#quickCreateModules .custom-module, .workflowListContainer .custom-module, .dashBoardTabContents .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #fff;
+	background-color: #777;
+}
+.menuEditorItem .custom-module {
+	border-radius: 4px;
+	padding: 3px 5px;
+	color: #000;
+	background-color: #fff;
+}
+.task-details .custom-module {
+	border-radius: 4px;
+	padding: 1px 4px;
+	color: white;
+	background-color: #777;
+}
+.related-tabs .custom-module, #relatedmenuList .custom-module {
+	border-radius: 4px;
+	color: #fff;
+	background-color: #777;
+	padding: 5px 7px;
+	font-weight: bold;
+}
+.record-header .custom-module {
+	font-size: 30px;
+}
+.moduleIcon .custom-module {
+	font-weight: bold;
 }
\ No newline at end of file
diff --git a/modules/Calendar/models/Module.php b/modules/Calendar/models/Module.php
index f355e427b91c5355237794793e1204524ac13919..3adba64520aaade509c48a4c4b182371b01b8fd1 100644
--- a/modules/Calendar/models/Module.php
+++ b/modules/Calendar/models/Module.php
@@ -984,4 +984,23 @@ class Calendar_Module_Model extends Vtiger_Module_Model {
 	public function getRelationShipActions() {
 		return array('ADD');
 	}
+
+	public function getModuleIcon($activityType) {
+		$moduleName = $this->getName();
+		$title = vtranslate($moduleName, $moduleName);
+
+		if (!$activityType) {
+			if ($moduleName == 'Events') {
+				$activityType = 'calendar';
+			}
+		}
+
+		$activityType = strtolower($activityType);
+		$moduleIcon = "<i class='vicon-$activityType' title='$title' ></i>";
+
+		if (!in_array($activityType, array('task', 'calendar'))) {
+			$moduleIcon = parent::getModuleIcon();
+		}
+		return $moduleIcon;
+	}
 }
diff --git a/modules/Calendar/views/Edit.php b/modules/Calendar/views/Edit.php
index d663bf46def546190db3d274cd2616e9f527a792..01f22d75d9e7b24002626057eeea8b42c8e8e27a 100644
--- a/modules/Calendar/views/Edit.php
+++ b/modules/Calendar/views/Edit.php
@@ -82,7 +82,10 @@ Class Calendar_Edit_View extends Vtiger_Edit_View {
 		$relContactId = $request->get('contact_id');
 		if ($relContactId) {
 			$contactRecordModel = Vtiger_Record_Model::getInstanceById($relContactId);
-			$requestFieldList['parent_id'] = $contactRecordModel->get('account_id');
+			$accountId = $contactRecordModel->get('account_id');
+			if ($accountId) {
+				$requestFieldList['parent_id'] = $accountId;
+			}
 		}
 		foreach($requestFieldList as $fieldName=>$fieldValue){
 			$fieldModel = $fieldList[$fieldName];
diff --git a/modules/Migration/schema/701_to_710.php b/modules/Migration/schema/701_to_710.php
index fb2d6ffffccb7128abf613a4ef459cca52734f92..717c6f6485baa2f5aab482d92110e7aac2becfb4 100644
--- a/modules/Migration/schema/701_to_710.php
+++ b/modules/Migration/schema/701_to_710.php
@@ -138,6 +138,37 @@ if (defined('VTIGER_UPGRADE')) {
 	}
 	//END::Reordering Timezones
 
+	//START::Differentiate custom modules from Vtiger modules
+	$vtigerTabColumns = $db->getColumnNames('vtiger_tab');
+	if (!in_array('source', $vtigerTabColumns)) {
+		$db->pquery('ALTER TABLE vtiger_tab ADD COLUMN source VARCHAR(255) DEFAULT "custom"', array());
+	}
+	$db->pquery('UPDATE vtiger_tab SET source=NULL', array());
+
+	$pkgModules = array();
+	$pkgFolder = 'pkg/vtiger/modules';
+	$pkgHandle = opendir($pkgFolder);
+
+	if ($pkgHandle) {
+		while (($pkgModuleName = readdir($pkgHandle)) !== false) {
+			$pkgModules[$pkgModuleName] = $pkgModuleName;
+
+			$moduleHandle = opendir("$pkgFolder/$pkgModuleName");
+			while (($innerModuleName = readdir($moduleHandle)) !== false) {
+				if (is_dir("$pkgFolder/$pkgModuleName/$innerModuleName")) {
+					$pkgModules[$innerModuleName] = $innerModuleName;
+				}
+			}
+			closedir($moduleHandle);
+		}
+		closedir($pkgHandle);
+		$pkgModules = array_keys($pkgModules);
+	}
+
+	$db->pquery('UPDATE vtiger_tab SET source="custom" WHERE version IS NOT NULL AND name NOT IN ('.generateQuestionMarks($pkgModules).')', $pkgModules);
+	echo '<br>Succecssfully added source column vtiger tab table<br>';
+	//END::Differentiate custom modules from Vtiger modules
+
 	//Update existing package modules
 	Install_Utils_Model::installModules();
-}
\ No newline at end of file
+}
diff --git a/modules/Vtiger/models/Module.php b/modules/Vtiger/models/Module.php
index 4f263ab3a216e331a43f6f6dcab9edbc22299e14..f1ffd66ce63cc8cd9ee46e8cba7f8e23d4f62f30 100644
--- a/modules/Vtiger/models/Module.php
+++ b/modules/Vtiger/models/Module.php
@@ -1990,4 +1990,27 @@ class Vtiger_Module_Model extends Vtiger_Module {
 		return $this->isPermitted('EditView');
 	}
 
+	public function getModuleIcon() {
+		$moduleName = $this->getName();
+		$lowerModuleName = strtolower($moduleName);
+		$title = vtranslate($moduleName, $moduleName);
+
+		$moduleIcon = "<i class='vicon-$lowerModuleName' title='$title'></i>";
+		if ($this->source == 'custom') {
+			$moduleShortName = mb_substr(trim($title), 0, 2);
+			$moduleIcon = "<span class='custom-module' title='$title'>$moduleShortName</span>";
+		}
+
+		$imageFilePath = 'layouts/'.Vtiger_Viewer::getLayoutName()."/modules/$moduleName/$moduleName.png";
+		if (file_exists($imageFilePath)) {
+			$moduleIcon = "<img src='$imageFilePath' title='$title'/>";
+		}
+
+		return $moduleIcon;
+	}
+
+	public static function getModuleIconPath($moduleName) {
+		$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
+		return $moduleModel->getModuleIcon();
+	}
 }
diff --git a/pkg/vtiger/modules/ExtensionStore/settings/actions/Basic.php b/pkg/vtiger/modules/ExtensionStore/settings/actions/Basic.php
index d12bf1d0633ca5e1a48474f2dfbd964bfd691147..ebb8699b33807ae935af78c14583983321f7d328 100644
--- a/pkg/vtiger/modules/ExtensionStore/settings/actions/Basic.php
+++ b/pkg/vtiger/modules/ExtensionStore/settings/actions/Basic.php
@@ -21,6 +21,7 @@ class Settings_ExtensionStore_Basic_Action extends Settings_Vtiger_IndexAjax_Vie
 		$this->exposeMethod('updateTrialMode');
 		$this->exposeMethod('updateCardDetails');
 		$this->exposeMethod('logoutMarketPlace');
+		$this->exposeMethod('forgotPassword');
 	}
 
 	function process(Vtiger_Request $request) {
@@ -157,11 +158,8 @@ class Settings_ExtensionStore_Basic_Action extends Settings_Vtiger_IndexAjax_Vie
 			$options['savePassword'] = ($request->get('savePassword') == 'true') ? true : false;
 			$options['password'] = md5($options['password']);
 			$profieInfo = $modelInstance->login($options);
-		} elseif ($userAction == 'register') {
-			$options['savePassword'] = $request->get('savePassword');
-			$options['password'] = $options['password'];
-			$profieInfo = $modelInstance->register($options);
 		}
+
 		$response = new Vtiger_Response();
 		if ($profieInfo['success'] != 'true') {
 			$response->setError('', $profieInfo['error']);
@@ -204,6 +202,20 @@ class Settings_ExtensionStore_Basic_Action extends Settings_Vtiger_IndexAjax_Vie
 		$response->emit();
 	}
 
+	public function forgotPassword(Vtiger_Request $request) {
+		$response = new Vtiger_Response();
+		$qualifiedModuleName = $request->getModule(false);
+		$modelInstance = $this->getModelInstance();
+		$forgotPasswordRes = $modelInstance->forgotPassword($request->getAll());
+		if ($forgotPasswordRes['success']) {
+			$response->setResult(array('message' => vtranslate('LBL_RESET_PASSWORD_LINK_EMAILED', $qualifiedModuleName)));
+		} else {
+			$response->setError('', $forgotPasswordRes['error']);
+		}
+
+		$response->emit();
+	}
+
 	public function validateRequest(Vtiger_Request $request) {
 		$request->validateWriteAccess();
 	}
diff --git a/pkg/vtiger/modules/ExtensionStore/settings/connectors/ExtnStore.php b/pkg/vtiger/modules/ExtensionStore/settings/connectors/ExtnStore.php
index aab4dac2027744d4c50fef5d263855620d2138fb..c6abbc941c32dd39a07022d8ba7072d0a8e03b63 100644
--- a/pkg/vtiger/modules/ExtensionStore/settings/connectors/ExtnStore.php
+++ b/pkg/vtiger/modules/ExtensionStore/settings/connectors/ExtnStore.php
@@ -371,7 +371,7 @@ class Settings_ExtensionStore_ExtnStore_Connector {
 		try {
 			$this->auth = $this->api('/app/customer', 'POST', $signupParams, false);
 			if ($this->auth) {
-				$this->persistLogin($this->auth['email'], $this->auth['password'], false);
+				$this->persistLogin($this->auth['email'], md5($this->auth['password']), false);
 			}
 			return array('success' => true, 'result' => $this->auth);
 		} catch (Exception $ex) {
@@ -483,4 +483,15 @@ class Settings_ExtensionStore_ExtnStore_Connector {
 			return array('success' => false, 'error' => $ex->getMessage());
 		}
 	}
+
+	public function forgotPassword($emailAddress) {
+		$params = array('email' => $emailAddress);
+		try {
+			$response = $this->api('/app/forgotpassword', 'POST', $params, false);
+			return array('success' => true, 'result' => $response);
+		} catch (Exception $ex) {
+			return array('success' => false, 'error' => $ex->getMessage());
+		}
+	}
+
 }
diff --git a/pkg/vtiger/modules/ExtensionStore/settings/models/Extension.php b/pkg/vtiger/modules/ExtensionStore/settings/models/Extension.php
index 31f58f1edc83e873b38254a5803abb0a0cd53909..2a77986d4c88f4ecde3e33453bfc132dbb0e162b 100644
--- a/pkg/vtiger/modules/ExtensionStore/settings/models/Extension.php
+++ b/pkg/vtiger/modules/ExtensionStore/settings/models/Extension.php
@@ -205,9 +205,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 * Function to get max created on promotion
 	 */
 	public function getMaxCreatedOn($type = 'Extension', $function, $field) {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$listings = $connector->getMaxCreatedOn($type, $function, $field);
 			return $listings;
 		}
@@ -215,9 +214,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 
 	public function getNews() {
 		$news = array();
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$news = $connector->getNews();
 		}
 		return $news;
@@ -230,9 +228,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 */
 	public function getListings($id = null, $type = 'Extension') {
 		$extensionModelsList = array();
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$listings = $connector->getListings($id, $type);
 
 			if ($listings['success']) {
@@ -254,9 +251,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 */
 	public function getExtensionListings($extensionId) {
 		$extensionModelsList = array();
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$listings = $connector->getListings($extensionId);
 			if ($listings['success']) {
 				$listing = $listings['response'];
@@ -282,14 +278,15 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 			$downloadURL = $downloadURL.'&mode=Trial';
 		}
 		if ($downloadURL) {
-			$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
-			$response = $connector->download($downloadURL);
-			if ($response['success']) {
-				file_put_contents($targetFileName, $response['response']);
-				return array('success' => true);
-			} else {
-				return array('success' => false, 'message' => $response['error']);
+			$connector = $this->getConnector();
+			if ($connector) {
+				$response = $connector->download($downloadURL);
+				if ($response['success']) {
+					file_put_contents($targetFileName, $response['response']);
+					return array('success' => true);
+				} else {
+					return array('success' => false, 'message' => $response['error']);
+				}
 			}
 		}
 		return false;
@@ -302,9 +299,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 */
 	public function findListings($searchTerm = null, $searchType) {
 		$extensionModelsList = array();
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$listings = $connector->findListings($searchTerm, $searchType);
 
 			if ($listings['success']) {
@@ -322,9 +318,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	}
 
 	public function getExtensionTable() {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$tableName = $connector->getExtensionTable();
 		}
 		return $tableName;
@@ -344,9 +339,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	}
 
 	public function getSessionIdentifier() {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			return $connector->getSessionIdentifier();
 		}
 	}
@@ -382,9 +376,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 * Function to register user for extension store
 	 */
 	public function signup($options) {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$response = $connector->signUp($options['emailAddress'], $options['password'], $options['confirmPassword'], $options['firstName'], $options['lastName'], $options['companyName']);
 			return $response;
 		}
@@ -403,9 +396,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 * Function to login user to extension store
 	 */
 	public function login($options) {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$response = $connector->login($options['emailAddress'], $options['password'], $options['savePassword']);
 			return $response;
 		}
@@ -415,9 +407,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 * Funstion to get customer reviews based on extension id
 	 */
 	public function getCustomerReviews($extensionId) {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$response = $connector->getCustomerReviews($extensionId);
 			return $response;
 		}
@@ -427,9 +418,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 * Function to post customer reviews
 	 */
 	public function postReview($listing, $comment, $rating) {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$response = $connector->postReview($listing, $comment, $rating);
 			return $response;
 		}
@@ -440,9 +430,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 */
 	public function getScreenShots($extensionId) {
 		$screenShotListings = array();
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$listings = $connector->getScreenShots($extensionId);
 			foreach ($listings as $listing) {
 				$screenShotListings[(string) $listing['id']] = $this->getInstanceFromScreenShotArray($listing);
@@ -455,9 +444,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 * Function to verify extension purchase
 	 */
 	public function verifyPurchase($listingName) {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$response = $connector->verifyPurchase($listingName);
 			if ($response == 1) {
 				return true;
@@ -470,9 +458,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 * Function to get listing author information
 	 */
 	public function getListingAuthor($extensionId) {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$authorInfo = $connector->getListingAuthor($extensionId);
 			return $authorInfo;
 		}
@@ -482,9 +469,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 * Function to get customer profile details
 	 */
 	public function getProfile() {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$customerInfo = $connector->getProfile();
 			return $customerInfo;
 		}
@@ -587,9 +573,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	}
 
 	public function getCustomerDetails($customerId) {
-		$extensionLookUpUrl = self::getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$customerInfo = $connector->getCustomerDetails($customerId);
 			return $customerInfo;
 		}
@@ -599,9 +584,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 * Function to insert card details of registered user
 	 */
 	public function createCard($number, $expmonth, $expyear, $cvc) {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$response = $connector->createCard($number, $expmonth, $expyear, $cvc);
 			return $response;
 		}
@@ -611,9 +595,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 * Function to update card details of registered user
 	 */
 	public function updateCard($number, $expmonth, $expyear, $cvc, $customerId) {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$response = $connector->updateCard($number, $expmonth, $expyear, $cvc, $customerId);
 			return $response;
 		}
@@ -623,9 +606,8 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 	 * Function to get card details of customer
 	 */
 	public function getCardDetails($cardId) {
-		$extensionLookUpUrl = $this->getExtensionsLookUpUrl();
-		if ($extensionLookUpUrl) {
-			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($extensionLookUpUrl);
+		$connector = $this->getConnector();
+		if ($connector) {
 			$response = $connector->getCardDetails($cardId);
 			return $response;
 		}
@@ -653,4 +635,25 @@ class Settings_ExtensionStore_Extension_Model extends Vtiger_Base_Model {
 		}
 	}
 
+	public function forgotPassword($options) {
+		$emailAddress = $options['emailAddress'];
+		if (filter_var($emailAddress, FILTER_VALIDATE_EMAIL)) {
+			$connector = $this->getConnector();
+			if ($connector) {
+				$response = $connector->forgotPassword($emailAddress);
+				return $response;
+			}
+		}
+		return array('success' => false, 'error' => 'Invalid EmailAddress!');
+	}
+
+	 public function getConnector() {
+		$connector = null;
+		$url = $this->getExtensionsLookUpUrl();
+		if ($url) {
+			$connector = Settings_ExtensionStore_ExtnStore_Connector::getInstance($url);
+		}
+		return $connector;
+	}
+
 }
diff --git a/pkg/vtiger/modules/ExtensionStore/settings/views/ExtensionStore.php b/pkg/vtiger/modules/ExtensionStore/settings/views/ExtensionStore.php
index b5e344393b53313161fbf41da2fc1b5eec7839ca..1c4227db35aed0d7330dfff69f95549ed1545da4 100644
--- a/pkg/vtiger/modules/ExtensionStore/settings/views/ExtensionStore.php
+++ b/pkg/vtiger/modules/ExtensionStore/settings/views/ExtensionStore.php
@@ -12,14 +12,58 @@ include_once dirname(__FILE__).'/../libraries/LoaderSuggest.php';
 
 class Settings_ExtensionStore_ExtensionStore_View extends Settings_Vtiger_Index_View {
 
+	protected $registrationStatus = false;
+	protected $passwordStatus = false;
+	protected $customerProfile = array();
+	protected $customerCardInfo = array();
+
 	public function __construct() {
 		parent::__construct();
+		$this->init();
 		$this->exposeMethod('searchExtension');
 		$this->exposeMethod('detail');
 		$this->exposeMethod('installationLog');
 		$this->exposeMethod('oneClickInstall');
 	}
 
+	protected function init() {
+		$modelInstance = $this->getModelInstance();
+		$this->registrationStatus = $modelInstance->checkRegistration();
+
+		if ($this->registrationStatus) {
+			$pwdStatus = false;
+			$pwdStatus = $modelInstance->passwordStatus();
+			if (!$pwdStatus) {
+				$sessionIdentifer = $modelInstance->getSessionIdentifier();
+				$pwd = $_SESSION[$sessionIdentifer.'_password'];
+				if (!empty($pwd)) {
+					$pwdStatus = true;
+				}
+			}
+			$this->passwordStatus = $pwdStatus;
+		}
+
+		if ($this->registrationStatus && $this->passwordStatus) {
+			$customerProfile = $modelInstance->getProfile();
+			/* check if pwd is updated in marketplace by user, then marketplace will
+			 * respond with unauthozied message while getting customer profile. 
+			 * So at this time we will remove 
+			 * old password from DB and session, So user will login again with new
+			 * password
+			 */
+			if ($customerProfile['id']) {
+				$this->customerProfile = $customerProfile;
+				$customerCardId = $customerProfile['CustomerCardId'];
+				if (!empty($customerCardId)) {
+					$this->customerCardInfo = $modelInstance->getCardDetails($customerCardId);
+				}
+			} else {
+				$modelInstance->unsetPassword();
+				$this->passwordStatus = false;
+			}
+		}
+	}
+
 	protected function getModelInstance() {
 		if (!isset($this->modelInstance)) {
 			$this->modelInstance = Settings_ExtensionStore_Extension_Model::getInstance();
@@ -27,7 +71,19 @@ class Settings_ExtensionStore_ExtensionStore_View extends Settings_Vtiger_Index_
 		return $this->modelInstance;
 	}
 
+	function preProcess(Vtiger_Request $request) {
+		parent::preProcess($request, false);
+		$extensionStoreModuleModel = Settings_ExtensionStore_Module_Model::getInstance();
+		$viewer = $this->getViewer($request);
+		$viewer->assign('MODULE_MODEL', $extensionStoreModuleModel);
+		$viewer->assign('PASSWORD_STATUS', $this->passwordStatus);
+		$viewer->assign('CUSTOMER_PROFILE', $this->customerProfile);
+		$this->preProcessSettings($request, false);
+		$this->preProcessDisplay($request);
+	}
+
 	public function process(Vtiger_Request $request) {
+		$modelInstance = $this->getModelInstance();
 		$mode = $request->getMode();
 		if (!empty($mode)) {
 			$this->invokeExposedMethod($mode, $request);
@@ -36,31 +92,14 @@ class Settings_ExtensionStore_ExtensionStore_View extends Settings_Vtiger_Index_
 
 		$viewer = $this->getViewer($request);
 		$qualifiedModuleName = $request->getModule(false);
-		$modelInstance = $this->getModelInstance();
-		$registrationStatus = $modelInstance->checkRegistration();
 
-		if ($registrationStatus) {
+		if ($this->registrationStatus) {
 			$userName = $modelInstance->getRegisteredUser();
-			//check if remember password is enabled
-			$pwdStatus = $modelInstance->passwordStatus();
-			//check if password set in current session
-			if (!$pwdStatus) {
-				$sessionIdentifer = $modelInstance->getSessionIdentifier();
-				$pwd = $_SESSION[$sessionIdentifer.'_password'];
-				if (!empty($pwd)) {
-					$pwdStatus = true;
-				}
-			}
 			$viewer->assign('USER_NAME', $userName);
 		}
-		if ($registrationStatus && $pwdStatus) {
-			$customerProfile = $modelInstance->getProfile();
-			$customerCardId = $customerProfile['CustomerCardId'];
-			if (!empty($customerCardId)) {
-				$customerCardDetails = $modelInstance->getCardDetails($customerCardId);
-				$viewer->assign('CUSTOMER_CARD_INFO', $customerCardDetails);
-			}
-			$viewer->assign('CUSTOMER_PROFILE', $customerProfile);
+		if ($this->registrationStatus && $this->passwordStatus) {
+			$viewer->assign('CUSTOMER_CARD_INFO', $this->customerCardInfo);
+			$viewer->assign('CUSTOMER_PROFILE', $this->customerProfile);
 		}
 
 		$loaderRequired = false;
@@ -69,11 +108,11 @@ class Settings_ExtensionStore_ExtensionStore_View extends Settings_Vtiger_Index_
 
 		$viewer->assign('LOADER_REQUIRED', $loaderRequired);
 		$viewer->assign('LOADER_INFO', $loaderInfo);
-		$viewer->assign('PASSWORD_STATUS', $pwdStatus);
+		$viewer->assign('PASSWORD_STATUS', $this->passwordStatus);
 		$viewer->assign('IS_PRO', true);
 		$viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
 		$viewer->assign('EXTENSIONS_LIST', $modelInstance->getListings());
-		$viewer->assign('REGISTRATION_STATUS', $registrationStatus);
+		$viewer->assign('REGISTRATION_STATUS', $this->registrationStatus);
 		$viewer->view('Index.tpl', $qualifiedModuleName);
 	}
 
@@ -103,22 +142,10 @@ class Settings_ExtensionStore_ExtensionStore_View extends Settings_Vtiger_Index_
 		$viewer = $this->getViewer($request);
 		$qualifiedModuleName = $request->getModule(false);
 		$modelInstance = $this->getModelInstance();
-		$registrationStatus = $modelInstance->checkRegistration();
 
-		if ($registrationStatus) {
-			$pwdStatus = $modelInstance->passwordStatus();
-			if (!$pwdStatus) {
-				$sessionIdentifer = $modelInstance->getSessionIdentifier();
-				$pwd = $_SESSION[$sessionIdentifer.'_password'];
-				if (!empty($pwd)) {
-					$pwdStatus = true;
-				}
-			}
-		}
-
-		$viewer->assign('PASSWORD_STATUS', $pwdStatus);
+		$viewer->assign('PASSWORD_STATUS', $this->passwordStatus);
 		$viewer->assign('IS_PRO', true);
-		$viewer->assign('REGISTRATION_STATUS', $registrationStatus);
+		$viewer->assign('REGISTRATION_STATUS', $this->registrationStatus);
 		$viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
 		$viewer->assign('EXTENSIONS_LIST', $modelInstance->findListings($searchTerm, $searchType));
 		$viewer->view('ExtensionModules.tpl', $qualifiedModuleName);
@@ -138,30 +165,19 @@ class Settings_ExtensionStore_ExtensionStore_View extends Settings_Vtiger_Index_
 			$customerReviews = $modelInstance->getCustomerReviews($extensionId);
 			$screenShots = $modelInstance->getScreenShots($extensionId);
 			$authorInfo = $modelInstance->getListingAuthor($extensionId);
-			$registrationStatus = $modelInstance->checkRegistration();
-
-			if ($registrationStatus) {
-				$pwdStatus = $modelInstance->passwordStatus();
-				if (!$pwdStatus) {
-					$sessionIdentifer = $modelInstance->getSessionIdentifier();
-					$pwd = $_SESSION[$sessionIdentifer.'_password'];
-					if (!empty($pwd)) {
-						$pwdStatus = true;
-					}
-				}
-				$viewer->assign('PASSWORD_STATUS', $pwdStatus);
-			}
 
-			if ($registrationStatus && $pwdStatus) {
-				$customerProfile = $modelInstance->getProfile();
-				$customerCardId = $customerProfile['CustomerCardId'];
-				if (!empty($customerCardId)) {
-					$customerCardDetails = $modelInstance->getCardDetails($customerCardId);
-					$viewer->assign('CUSTOMER_CARD_INFO', $customerCardDetails);
+			$viewer->assign('PASSWORD_STATUS', $this->passwordStatus);
+			$viewer->assign('CUSTOMER_CARD_INFO', $this->customerCardInfo);
+			$viewer->assign('CUSTOMER_PROFILE', $this->customerProfile);
+
+			if ($request->get('extensionName') == 'Payments') {
+				$moduleModel = Vtiger_Module_Model::getInstance('Subscription');
+				if ($moduleModel && $moduleModel->get('presence') == 0) {
+					$viewer->assign('CHECK_SUBSCRIPTION', TRUE);
 				}
-				$viewer->assign('CUSTOMER_PROFILE', $customerProfile);
 			}
 
+			$extension = $extensionDetail[$extensionId];
 			$viewer->assign('IS_PRO', true);
 			$viewer->assign('MODULE_ACTION', $moduleAction);
 			$viewer->assign('SCREEN_SHOTS', $screenShots);
@@ -171,7 +187,7 @@ class Settings_ExtensionStore_ExtensionStore_View extends Settings_Vtiger_Index_
 			$viewer->assign('EXTENSION_MODULE_MODEL', $extension->get('moduleModel'));
 			$viewer->assign('EXTENSION_ID', $extensionId);
 			$viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
-			$viewer->assign('REGISTRATION_STATUS', $registrationStatus);
+			$viewer->assign('REGISTRATION_STATUS', $this->registrationStatus);
 			$viewer->view('Detail.tpl', $qualifiedModuleName);
 		} else {
 			$viewer->assign('EXTENSION_LABEL', $extension->get('label'));
@@ -242,6 +258,7 @@ class Settings_ExtensionStore_ExtensionStore_View extends Settings_Vtiger_Index_
 				$package = new Vtiger_Package();
 			}
 
+			$viewer->assign('EXTENSION_NAME', $targetModuleName);
 			$viewer->assign('MODULE_ACTION', $moduleAction);
 			$viewer->assign('MODULE_PACKAGE', $package);
 			$viewer->assign('TARGET_MODULE_INSTANCE', Vtiger_Module_Model::getInstance($targetModuleName));
@@ -281,8 +298,6 @@ class Settings_ExtensionStore_ExtensionStore_View extends Settings_Vtiger_Index_
 				}
 				if (!$upgradeError) {
 					if (!$isLanguagePackage) {
-						$moduleModel = Vtiger_Module_Model::getInstance($importedModuleName);
-
 						if (!$extensionModel->isUpgradable()) {
 							$viewer->assign('SAME_VERSION', true);
 						}
@@ -313,6 +328,7 @@ class Settings_ExtensionStore_ExtensionStore_View extends Settings_Vtiger_Index_
 				$package = new Vtiger_Package();
 			}
 
+			$viewer->assign('EXTENSION_NAME', $request->get('extensionName'));
 			$viewer->assign('MODULE_ACTION', $moduleAction);
 			$viewer->assign('MODULE_PACKAGE', $package);
 			$viewer->assign('TARGET_MODULE_INSTANCE', Vtiger_Module_Model::getInstance($targetModuleName));
diff --git a/pkg/vtiger/modules/ModTracker/modules/ModTracker/models/Record.php b/pkg/vtiger/modules/ModTracker/modules/ModTracker/models/Record.php
index 652ccb5ecea497923ed93b4f6e6078f648c675ee..0c7b5c2295e044c12bf7e27575b0dad0988937c7 100644
--- a/pkg/vtiger/modules/ModTracker/modules/ModTracker/models/Record.php
+++ b/pkg/vtiger/modules/ModTracker/modules/ModTracker/models/Record.php
@@ -7,7 +7,6 @@
  * Portions created by vtiger are Copyright (C) vtiger.
  * All Rights Reserved.
  * *********************************************************************************** */
-vimport('~~/modules/ModTracker/core/ModTracker_Basic.php');
 
 class ModTracker_Record_Model extends Vtiger_Record_Model {
 
diff --git a/schema/DatabaseSchema.xml b/schema/DatabaseSchema.xml
index 95d52998bb0736ba1ba6b4a749ff3d4fa43a1c27..91791027b1a70c5d762ee1563e879afcfb242490 100644
--- a/schema/DatabaseSchema.xml
+++ b/schema/DatabaseSchema.xml
@@ -211,6 +211,9 @@
 		</field>
 		<field name="version" type="C" size="10" />
 		<field name="parent" type="C" size="30"/>
+		<field name="source" type="C" size="255">
+			<default value="custom" />
+		</field>
 
 		<index name="tab_name_idx">
 			<col>name</col>
diff --git a/vtlib/Vtiger/ModuleBasic.php b/vtlib/Vtiger/ModuleBasic.php
index 9b834cf9351cd7c2e69b33301bc9bcfa4a7c87b9..e6132cec79a83b24c7c3d82c0a061b89e0127e08 100644
--- a/vtlib/Vtiger/ModuleBasic.php
+++ b/vtlib/Vtiger/ModuleBasic.php
@@ -90,6 +90,7 @@ class Vtiger_ModuleBasic {
 			// Initialize other details too
 			$this->initialize2();
 		}
+		$this->source = $valuemap['source'];
 		$this->isSyncable = $valuemap['issyncable'];
 		$this->allowDuplicates = $valuemap['allowduplicates'];
 		$this->syncActionForDuplicate = $valuemap['sync_action_for_duplicates'];