From 4e43ed520cf7c231613e3f32dcd9ca35b368aba7 Mon Sep 17 00:00:00 2001
From: satish <satish.dvnk@vtiger.com>
Date: Fri, 2 Jun 2017 20:32:31 +0530
Subject: [PATCH] Fixes #551 - vt7: Extension banner show also 6.x extension

---
 languages/en_us/Settings/ExtensionStore.php   | 133 ------
 .../Settings/ExtensionStore/Detail.tpl        | 404 +++++++++---------
 .../ExtensionCompactableError.tpl             |  32 ++
 modules/Migration/schema/700_to_701.php       |   5 +-
 .../en_us/Settings/ExtensionStore.php         | 216 +++++-----
 5 files changed, 352 insertions(+), 438 deletions(-)
 delete mode 100644 languages/en_us/Settings/ExtensionStore.php
 create mode 100644 layouts/v7/modules/Settings/ExtensionStore/ExtensionCompactableError.tpl

diff --git a/languages/en_us/Settings/ExtensionStore.php b/languages/en_us/Settings/ExtensionStore.php
deleted file mode 100644
index e411f397d..000000000
--- a/languages/en_us/Settings/ExtensionStore.php
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-/*+***********************************************************************************
- * The contents of this file are subject to the vtiger CRM Public License Version 1.0
- * ("License"); You may not use this file except in compliance with the License
- * The Original Code is:  vtiger CRM Open Source
- * The Initial Developer of the Original Code is vtiger.
- * Portions created by vtiger are Copyright (C) vtiger.
- * All Rights Reserved.
- *************************************************************************************/
-$languageStrings = array(
-	'LBL_PUBLISHER' => 'Publisher',
-	'LBL_LICENSE' => 'License',
-	'LBL_PUBLISHED_ON' => 'Published on',
-	'LBL_INSTALL' => 'Install',
-	'LBL_UPGRADE' => 'Upgrade',
-	'LBL_VERSION' => 'Version',
-	'LBL_DECLINE' => 'Decline',
-	'LBL_ACCEPT_AND_INSTALL' => 'Accept and Install',
-	'LBL_OK' => 'OK',
-	'LBL_EXTENSION_NOT_COMPATABLE' => 'Extension is not Compatable',
-	'LBL_INVALID_FILE' => 'Invalid File',
-	'LBL_NO_LICENSE_PROVIDED' => 'No License Provided',
-	'LBL_INSTALLATION' => 'Installation',
-	'LBL_FAILED' => 'Failed',
-	'LBL_SUCCESSFULL' => 'Successful',
-	'LBL_INSTALLATION_LOG' => 'Installation Log',
-	'LBL_UPDATED_MODULE' => ' module was updated successfully.',
-	'LBL_UPDATING_MODULE' => 'Updating Module',
-    'LBL_MARKET_PLACE' => 'Market Place',
-    
-        //Extension Store translations
-        'LBL_VTIGER_EXTENSION_STORE' => 'Vtiger Extension Store',
-        'LBL_SEARCH_FOR_AN_EXTENSION'  => 'Search for an extension..',
-        'LBL_DOWNLOADS' => 'Downloads',
-        'LBL_NO_EXTENSIONS_FOUND' => 'No Extensions Found',
-        'LBL_REGISTER_TO_MARKET_PLACE' => 'Register to Marketplace',
-        'LBL_MARKETPLACE_REGISTRATION' => 'Marketplace Registration',
-        'LBL_MARKETPLACE_LOGIN' => 'Marketplace Login',
-        'LBL_NEW_TO_MARKETPLCAE' => 'New to Marketplace ?',
-        'LBL_CREATE_AN_ACCOUNT' => 'Create a new account',
-        'LBL_SETUP_CARD_DETAILS' => 'Setup Card Details',
-        'LBL_SETUP_CARD' => 'Setup Card',
-        'LBL_CARD_NUMBER' => 'Card Number',
-        'LBL_EXP_MONTH' => 'Exp Month',
-        'LBL_EXP_YEAR' => 'Exp Year',
-        'LBL_CVC_CODE' => 'CVC Code',
-        'LBL_RESET' => 'Reset',
-        'LBL_EXTENSION_STORE' => 'Extension Store',
-        'LBL_INSTALLED' => 'Installed',
-        'LBL_UPDATE_CARD_DETAILS' => 'Update Card Details',
-        'LBL_BY' => 'by',
-        'LBL_RATINGS' => 'Ratings',
-        'LBL_DESCRIPTION' => 'Description',
-        'LBL_AUTHOR_INFORMATION' => 'Author Information',
-        'LBL_AUTHOR_NAME' => 'Author Name',
-        'LBL_PHONE' => 'Phone',
-        'LBL_EMAIL' => 'Email',
-        'LBL_SCREEN_SHOTS' => 'Screenshots',
-        'LBL_CUSTOMER_RATINGS' => 'Customer Ratings',
-        'LBL_CUSTOMER_REVIEWS' => 'Customer Reviews',
-        'LBL_WRITE_A_REVIEW' => 'Write a Review',
-        'LBL_CUSTOMER_REVIEW' => 'Customer Review',
-        'LBL_REVIEW' => 'Review',
-        'LBL_CUSTOMERS_REVIEWED' => 'Customers Reviewed',
-        'LBL_SINGLE_CUSTOMER_REVIEWED' => 'Single Customer Reviewed',
-        'LBL_INSTALLATION_FAILED' => 'Installation Failed',
-        'LBL_SUCCESSFULL_INSTALLATION' => 'Successful Installation',
-        'LBL_INSTALL_FROM_ZIP' => 'Install from Zip',
-        'LBL_MORE_DETAILS' => 'More Details',
-        'Install' => 'Install',
-        'Upgrade' => 'Upgrade',
-        'LBL_RATE_IT' => 'Rate it.',
-        'LBL_UNINSTALL' => 'Uninstall',
-        'LBL_LAUNCH' => 'Launch',
-        'LBL_SIGN_UP_FOR_FREE' => 'Sign up for free',
-        'LBL_EMAIL_ADDRESS' => 'Email address',
-        'LBL_FIRST_NAME' => 'First name',
-        'LBL_LAST_NAME' => 'Last name',
-        'LBL_COMPANY_NAME' => 'Company name',
-        'LBL_PASSWORD' => 'Password',
-        'LBL_CONFIRM_PASSWORD' => 'Confirm password',
-        'LBL_REGISTER' => 'Register',
-        'LBL_EXTENSION_STORE_LOGIN' => 'Extensionstore Login',
-        'LBL_REMEMBER_ME' => 'Remember me',
-        'LBL_TRY_IT' => 'Try it',
-        'LBL_TRIAL_INSTALLED' => 'Trial Installed',
-        'LBL_BUY' => 'Buy ',
-        'LBL_LOGIN_TO_MARKET_PLACE' => 'Login to Marketplace',
-        'LBL_LOGIN' => 'Login',
-        'LBL_PHP_EXTENSION_LOADER_IS_NOT_AVAIABLE' => 'Please install extension loader',
-        'LBL_INSTALL_EXTENSION_LOADER' => 'Install Extension Loader',
-        'LBL_TO_CONTINUE_USING_EXTENSION_STORE' => 'To continue using Extension Store please install ',
-        'LBL_DOWNLOAD' => 'Download',
-        'LBL_COMPATIABLE_EXTENSION' => ' and enable it as zend_extension.',
-        'LBL_MORE_DETAILS_ON_INSTALLATION' => 'For more details on installation ',
-        'LBL_READ_HERE' => 'read here',
-        'LBL_REVIEWS' => 'Reviews',
-        'LBL_SIGNUP_FOR_MARKET_PLACE' => 'Signup for Marketplace',
-        'LBL_UNAUTHORIZED' => 'Unauthorized',
-        'LBL_EXPIRY_DATE'  => 'Expiry Date',
-    
-        'firstname' => 'First Name',
-        'lastname' => 'Last Name',
-        'email' => 'Email',
-        'company' => 'Company',
-        'Phone' => 'Phone',
-        'Website' => 'Website',
-        'LBL_SECURITY_CODE' => 'Security Code',
-        'LBL_WHAT_IS_SECURITY_CODE' => 'What is Security Code ?',
-        'LBL_CARD_NUMBER_PLACEHOLDER' => '16 digit number on your card',
-        'LBL_SECURITY_CODE_HELP_CONTENT' => 'The CVV Number(Card Verification Value) on your credit/debit card is a 3 digit number on VISA®, MasterCard® etc.. branded credit/debit cards.',
-		'LBL_ENTER_REGISTERED_EMAIL' => 'Enter your registered email',
-		'LBL_RESET_PASSWORD_LINK_EMAILED' => 'Reset Password link emailed to you!',
-		'LBL_FORGOT_PASSWORD' => 'Forgot Password',
-		'LBL_ALREADY_INSTALLED_MODULE_BUILDER' => 'Already created by module builder',
-		'LBL_REVIEW_RESTRICTED' => 'Reviewing restricted',
-);
-$jsLanguageStrings = array(
-  'JS_PLEASE_SETUP_CARD_DETAILS_TO_INSTALL_THIS_EXTENSION'  => 'Please setup card details to install this extension',
-  'JS_UPDATE_CARD_DETAILS' => 'Update Card Details',
-  'JS_ON' => 'on',
-  'JS_RATINGS' => 'Ratings',
-  'JS_INSTALLED' => 'Installed',
-  'JS_TRIAL_INSTALLED' => 'Trial Installed',
-  'JS_PLEASE_INSTALL_EXTENSION_LOADER_TO_INSTALL_THIS_EXTENSION_FROM_BELOW_LINK' => 'Please install extension loader to install this extension from below link',
-  'JS_PLEASE_LOGIN_TO_MARKETPLACE_FOR_INSTALLING_EXTENSION' => 'Please login to marketplace for installing extension',
-  'JS_PLEASE_SETUP_CARD_DETAILS_TO_INSTALL_EXTENSION' => 'Please setup card details to install extension',
-  'JS_PLEASE_LOGIN_TO_MARKETPLACE_FOR_UNINSTALLING_EXTENSION' => 'Please login to marketplace for uninstalling extension',
-  'JS_CARD_DETAILS_UPDATED' => 'Card details updated!',  
-  'JS_PASSWORDS_MISMATCH' => "Passwords didn't match!",
-  'JS_ARE_YOU_SURE_UNINSTALL' => 'Are you sure you want to uninstall this Extension',
-  'JS_ARE_YOU_SURE_INSTALL' => 'Are you sure you want to install this extension',
-);
\ No newline at end of file
diff --git a/layouts/v7/modules/Settings/ExtensionStore/Detail.tpl b/layouts/v7/modules/Settings/ExtensionStore/Detail.tpl
index c1b864396..e46d9df97 100644
--- a/layouts/v7/modules/Settings/ExtensionStore/Detail.tpl
+++ b/layouts/v7/modules/Settings/ExtensionStore/Detail.tpl
@@ -12,218 +12,218 @@
 {strip}
 	<div class="col-lg-12 col-sm-12 content-area detailViewInfo extensionDetails extensionWidgetContainer" style='margin-top:0px;'>
 		{if !($ERROR)}
-            <input type="hidden" name="mode" value="{$smarty.request.mode}" />
+			<input type="hidden" name="mode" value="{$smarty.request.mode}" />
 			<input type="hidden" name="extensionId" value="{$EXTENSION_ID}" />
 			<input type="hidden" name="targetModule" value="{$EXTENSION_DETAIL->get('name')}" />
 			<input type="hidden" name="moduleAction" value="{$MODULE_ACTION}" />
 			<div class="row contentHeader extension_header" style="margin-bottom: 10px;">
-                <div class="col-sm-6 col-xs-6" style="margin-bottom: 5px;">
-                    <div style="margin-bottom: 5px;">
-                        <span  class="font-x-x-large">{$EXTENSION_DETAIL->get('name')}</span>&nbsp;
-                        <span class="muted">{vtranslate('LBL_BY', $QUALIFIED_MODULE)}&nbsp;{$AUTHOR_INFO['firstname']}&nbsp;{$AUTHOR_INFO['lastname']}</span>
-                    </div>
-                    {assign var=ON_RATINGS value=$EXTENSION_DETAIL->get('avgrating')}
-                    <div>
-                        <span data-score="{$ON_RATINGS}" class="rating " data-readonly="true"></span>
-                        <span class="">{if $ON_RATINGS}({$ON_RATINGS} {vtranslate('LBL_RATINGS', $QUALIFIED_MODULE)}){/if}</span>
-                    </div>
-                </div>
-                <div class="col-sm-6 col-xs-6">
-                    <div class="pull-right extensionDetailActions">
-                        <span style="margin: 5px;">
-                            <a class="btn btn-default" id="declineExtension"><i class="fa fa-chevron-left"></i> {vtranslate('LBL_BACK', $MODULE)}</a>&nbsp;
-                        </span>
-                        <span style="margin: 5px">
-                            {if ($MODULE_ACTION eq 'Installed')}
-                                <button class="btn btn-danger {if ($REGISTRATION_STATUS) and ($PASSWORD_STATUS)}authenticated {else} loginRequired{/if}" type="button" style="margin-right: 6px;" id="uninstallModule"><strong>{vtranslate('LBL_UNINSTALL', $QUALIFIED_MODULE)}</strong></button>
-                            {else}
-                                {if $EXTENSION_DETAIL->get('isprotected') && $IS_PRO && ($EXTENSION_DETAIL->get('price') gt 0)}
-                                    <button class="btn btn-info {if (!$CUSTOMER_PROFILE['CustomerCardId'])} setUpCard{/if}{if ($REGISTRATION_STATUS) and ($PASSWORD_STATUS)} authenticated {else} loginRequired{/if}" type="button" id="installExtension"><strong>{vtranslate('LBL_BUY',$QUALIFIED_MODULE)}${$EXTENSION_DETAIL->get('price')}</strong></button>
-                                {elseif (!$EXTENSION_DETAIL->get('isprotected')) && ($EXTENSION_DETAIL->get('price') gt 0)}
-                                    <button class="btn btn-info {if (!$CUSTOMER_PROFILE['CustomerCardId'])} setUpCard{/if}{if ($REGISTRATION_STATUS) and ($PASSWORD_STATUS)} authenticated {else} loginRequired{/if}" type="button" id="installExtension"><strong>{vtranslate('LBL_BUY',$QUALIFIED_MODULE)}${$EXTENSION_DETAIL->get('price')}</strong></button>
-                                {elseif !$EXTENSION_DETAIL->get('isprotected') && (($EXTENSION_DETAIL->get('price') eq 0) || ($EXTENSION_DETAIL->get('price') eq 'Free'))}
-                                    <button class="btn btn-success {if ($REGISTRATION_STATUS) and ($PASSWORD_STATUS)}authenticated {else} loginRequired{/if}" type="button" id="installExtension"><strong>{vtranslate($MODULE_ACTION, $QUALIFIED_MODULE)}</strong></button>
-                                {elseif $EXTENSION_DETAIL->get('isprotected') && $IS_PRO && (($EXTENSION_DETAIL->get('price') eq 0) || ($EXTENSION_DETAIL->get('price') eq 'Free'))}
-                                    <button class="btn btn-success {if ($REGISTRATION_STATUS) and ($PASSWORD_STATUS)}authenticated {else} loginRequired{/if}" type="button" id="installExtension"><strong>{vtranslate($MODULE_ACTION, $QUALIFIED_MODULE)}</strong></button>
-                                {/if}
-                            {/if}
-                        </span>
-                        <span style="margin: 5px;">
-                            {if $MODULE_ACTION eq 'Installed'}
-                                {assign var=LAUNCH_URL value=$EXTENSION_MODULE_MODEL->getExtensionLaunchUrl()}
-                            {/if}
-                            <button class="btn btn-info {if $MODULE_ACTION eq 'Installed'}{if $EXTENSION_MODULE_MODEL->get('extnType') eq 'language'}hide{/if}{else}hide{/if}" type="button" id="launchExtension" onclick="location.href='{$LAUNCH_URL}'"><strong>{vtranslate('LBL_LAUNCH', $QUALIFIED_MODULE)}</strong></button>
-                        </span>
-                    </div>
-                    <div class="clearfix"></div>
-                </div>
+				<div class="col-sm-6 col-xs-6" style="margin-bottom: 5px;">
+					<div style="margin-bottom: 5px;">
+						<span class="font-x-x-large">{$EXTENSION_DETAIL->get('name')}</span>&nbsp;
+						<span class="muted">{vtranslate('LBL_BY', $QUALIFIED_MODULE)}&nbsp;{$AUTHOR_INFO['firstname']}&nbsp;{$AUTHOR_INFO['lastname']}</span>
+					</div>
+					{assign var=ON_RATINGS value=$EXTENSION_DETAIL->get('avgrating')}
+					<div>
+						<span data-score="{$ON_RATINGS}" class="rating " data-readonly="true"></span>
+						<span class="">{if $ON_RATINGS}({$ON_RATINGS} {vtranslate('LBL_RATINGS', $QUALIFIED_MODULE)}){/if}</span>
+					</div>
+				</div>
+				<div class="col-sm-6 col-xs-6">
+					<div class="pull-right extensionDetailActions">
+						<span style="margin: 5px;">
+							<a class="btn btn-default" id="declineExtension"><i class="fa fa-chevron-left"></i> {vtranslate('LBL_BACK', $MODULE)}</a>&nbsp;
+						</span>
+						<span style="margin: 5px">
+							{if ($MODULE_ACTION eq 'Installed')}
+								<button class="btn btn-danger {if ($REGISTRATION_STATUS) and ($PASSWORD_STATUS)}authenticated {else} loginRequired{/if}" type="button" style="margin-right: 6px;" id="uninstallModule"><strong>{vtranslate('LBL_UNINSTALL', $QUALIFIED_MODULE)}</strong></button>
+							{else}
+								{if $EXTENSION_DETAIL->get('isprotected') && $IS_PRO && ($EXTENSION_DETAIL->get('price') gt 0)}
+									<button class="btn btn-info {if (!$CUSTOMER_PROFILE['CustomerCardId'])} setUpCard{/if}{if ($REGISTRATION_STATUS) and ($PASSWORD_STATUS)} authenticated {else} loginRequired{/if}" type="button" id="installExtension"><strong>{vtranslate('LBL_BUY',$QUALIFIED_MODULE)}${$EXTENSION_DETAIL->get('price')}</strong></button>
+								{elseif (!$EXTENSION_DETAIL->get('isprotected')) && ($EXTENSION_DETAIL->get('price') gt 0)}
+									<button class="btn btn-info {if (!$CUSTOMER_PROFILE['CustomerCardId'])} setUpCard{/if}{if ($REGISTRATION_STATUS) and ($PASSWORD_STATUS)} authenticated {else} loginRequired{/if}" type="button" id="installExtension"><strong>{vtranslate('LBL_BUY',$QUALIFIED_MODULE)}${$EXTENSION_DETAIL->get('price')}</strong></button>
+								{elseif !$EXTENSION_DETAIL->get('isprotected') && (($EXTENSION_DETAIL->get('price') eq 0) || ($EXTENSION_DETAIL->get('price') eq 'Free'))}
+									<button class="btn btn-success {if ($REGISTRATION_STATUS) and ($PASSWORD_STATUS)}authenticated {else} loginRequired{/if}" type="button" id="installExtension"><strong>{vtranslate($MODULE_ACTION, $QUALIFIED_MODULE)}</strong></button>
+								{elseif $EXTENSION_DETAIL->get('isprotected') && $IS_PRO && (($EXTENSION_DETAIL->get('price') eq 0) || ($EXTENSION_DETAIL->get('price') eq 'Free'))}
+									<button class="btn btn-success {if ($REGISTRATION_STATUS) and ($PASSWORD_STATUS)}authenticated {else} loginRequired{/if}" type="button" id="installExtension"><strong>{vtranslate($MODULE_ACTION, $QUALIFIED_MODULE)}</strong></button>
+								{/if}
+							{/if}
+						</span>
+						<span style="margin: 5px;">
+							{if $MODULE_ACTION eq 'Installed'}
+								{assign var=LAUNCH_URL value=$EXTENSION_MODULE_MODEL->getExtensionLaunchUrl()}
+							{/if}
+							<button class="btn btn-info {if $MODULE_ACTION eq 'Installed'}{if $EXTENSION_MODULE_MODEL->get('extnType') eq 'language'}hide{/if}{else}hide{/if}" type="button" id="launchExtension" onclick="location.href='{$LAUNCH_URL}'"><strong>{vtranslate('LBL_LAUNCH', $QUALIFIED_MODULE)}</strong></button>
+						</span>
+					</div>
+					<div class="clearfix"></div>
+				</div>
 			</div>
-            <div class="tabbable-panel">
-                <div class="tabbable-line margin0px" style="padding-bottom: 20px;">
-                    <ul id="extensionTab" class="nav nav-tabs" style="margin-bottom: 0px; padding-bottom: 0px;text-align: left;">
-                        <li class="active"><a href="#description" data-toggle="tab"><strong>{vtranslate('LBL_DESCRIPTION', $QUALIFIED_MODULE)}</strong></a></li>
-                        <li class="divider-vertical"></li>
-                        <li><a href="#CustomerReviews" data-toggle="tab"><strong>{vtranslate('LBL_CUSTOMER_REVIEWS', $QUALIFIED_MODULE)}</strong></a></li>
-                        <li class="divider-vertical"></li>
-                        <li><a href="#Author" data-toggle="tab"><strong>{vtranslate('LBL_PUBLISHER', $QUALIFIED_MODULE)}</strong></a></li>
-                    </ul>
-                    <div class="tab-content boxSizingBorderBox" style="background-color: #fff; padding: 20px; margin-top: 10px;">
-                        <div class="tab-pane active" id="description">
-                            <div style="width:90%;padding: 0px 5%;">
-                                <div class="row">
-                                    <div class="col-sm-2 col-xs-2">&nbsp;</div>
-                                    <div class="col-sm-8 col-xs-8">
-                                        <div id="imageSlider" class="carousel slide" data-ride="carousel">
-                                            <!-- Indicators -->
-                                            <ol class="carousel-indicators">
-                                                {foreach $SCREEN_SHOTS as $key=>$SCREEN_SHOT name=screen}
-                                                    <li data-target="#imageSlider" data-slide-to="{$smarty.foreach.screen.index}"  {if $smarty.foreach.screen.index == 0}class="active" {/if}></li>
-                                                {/foreach}
-                                            </ol>
+			<div class="tabbable-panel">
+				<div class="tabbable-line margin0px" style="padding-bottom: 20px;">
+					<ul id="extensionTab" class="nav nav-tabs" style="margin-bottom: 0px; padding-bottom: 0px;text-align: left;">
+						<li class="active"><a href="#description" data-toggle="tab"><strong>{vtranslate('LBL_DESCRIPTION', $QUALIFIED_MODULE)}</strong></a></li>
+						<li class="divider-vertical"></li>
+						<li><a href="#CustomerReviews" data-toggle="tab"><strong>{vtranslate('LBL_CUSTOMER_REVIEWS', $QUALIFIED_MODULE)}</strong></a></li>
+						<li class="divider-vertical"></li>
+						<li><a href="#Author" data-toggle="tab"><strong>{vtranslate('LBL_PUBLISHER', $QUALIFIED_MODULE)}</strong></a></li>
+					</ul>
+					<div class="tab-content boxSizingBorderBox" style="background-color: #fff; padding: 20px; margin-top: 10px;">
+						<div class="tab-pane active" id="description">
+							<div style="width:90%;padding: 0px 5%;">
+								<div class="row">
+									<div class="col-sm-2 col-xs-2">&nbsp;</div>
+									<div class="col-sm-8 col-xs-8">
+										<div id="imageSlider" class="carousel slide" data-ride="carousel">
+											<!-- Indicators -->
+											<ol class="carousel-indicators">
+												{foreach $SCREEN_SHOTS as $key=>$SCREEN_SHOT name=screen}
+													<li data-target="#imageSlider" data-slide-to="{$smarty.foreach.screen.index}" {if $smarty.foreach.screen.index == 0}class="active" {/if}></li>
+												{/foreach}
+											</ol>
 
-                                            <!-- Wrapper for slides -->
-                                            <div class="carousel-inner" role="listbox">
-                                                {foreach $SCREEN_SHOTS as $key=>$SCREEN_SHOT name=screen}
-                                                    <div class="item {if $smarty.foreach.screen.index == 0} active {/if}">
-                                                        <img src="{$SCREEN_SHOT->get('screenShotURL')}" >
-                                                    </div>
-                                                {/foreach}
-                                            </div>
+											<!-- Wrapper for slides -->
+											<div class="carousel-inner" role="listbox">
+												{foreach $SCREEN_SHOTS as $key=>$SCREEN_SHOT name=screen}
+													<div class="item {if $smarty.foreach.screen.index == 0} active {/if}">
+														<img src="{$SCREEN_SHOT->get('screenShotURL')}" >
+													</div>
+												{/foreach}
+											</div>
 
-                                            <!-- Controls -->
-                                            <a class="left carousel-control" href="#imageSlider" role="button" data-slide="prev">
-                                              <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
-                                              <span class="sr-only"></span>
-                                            </a>
-                                            <a class="right carousel-control" href="#imageSlider" role="button" data-slide="next">
-                                              <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
-                                              <span class="sr-only"></span>
-                                            </a>
-                                        </div>
-                                    </div>
-                                    <div class="col-sm-2 col-xs-2">&nbsp;</div>
-                                </div>
-                            </div>
-                            <br>
-                            <div class="scrollableTab" style="text-align: left;">
-                                <p>{$EXTENSION_DETAIL->get('description')}</p>
-                                <p></p>
-                            </div>
-                        </div>
-                        <div class="tab-pane" id="CustomerReviews">
-                            <div class="row boxSizingBorderBox" style="padding-bottom: 15px;">
-                                <div class="col-sm-6 col-xs-6">
-                                    <div class="pull-left">
-                                        <div style="font-size: 55px; line-height:50px; margin-right: 20px;">{$ON_RATINGS}</div>
-                                    </div>
-                                    <div class="pull-left">
-                                        <span data-score="{$ON_RATINGS}" class="rating" data-readonly="true"></span>
-                                        <div>out of 5</div>
-                                        <div>({count($CUSTOMER_REVIEWS)} Reviews)</div>
-                                    </div>
-                                </div>
-                                {if ($REGISTRATION_STATUS) and ($PASSWORD_STATUS)}
-                                    <div class="col-sm-6 col-xs-6">
-                                        <div class="pull-right">
-                                            {if $EXTENSION_DETAIL->isInstalledByExtnStore()}
-                                                    <button type="button" class="writeReview margin0px pull-right {if $MODULE_ACTION neq 'Installed'} hide{/if}">{vtranslate('LBL_WRITE_A_REVIEW', $QUALIFIED_MODULE)}</button>
-                                                {else}
-                                                    <span class="alert alert-error">{vtranslate('LBL_REVIEW_RESTRICTED', $QUALIFIED_MODULE)}</span>
-                                            {/if}
-                                        </div>
-                                    </div>
-                                {/if}
-                            </div><hr>
-                            <div class="scrollableTab">
-                                <div class="customerReviewContainer" style="">
-                                    {foreach $CUSTOMER_REVIEWS as $key=>$CUSTOMER_REVIEW}
-                                        <div class="row" style="margin: 8px 0 15px;">
-                                            <div class="col-sm-3 col-xs-3">
-                                                {assign var=ON_RATINGS value=$CUSTOMER_REVIEW['rating']}
-                                                <div data-score="{$ON_RATINGS}" class="rating" data-readonly="true"></div>
-                                                {assign var=CUSTOMER_INFO value= $CUSTOMER_REVIEW['customer']}
-                                                <div>
-                                                    {assign var=REVIEW_CREATED_TIME value=$CUSTOMER_REVIEW['createdon']|replace:'T':' '}
-                                                    {$CUSTOMER_INFO['firstname']}&nbsp;{$CUSTOMER_INFO['lastname']}
-                                                </div>
-                                                <div class="muted">{Vtiger_Util_Helper::formatDateTimeIntoDayString($REVIEW_CREATED_TIME)|substr:4}</div>
-                                            </div>
-                                            <div class="col-sm-9 col-xs-9">{$CUSTOMER_REVIEW['comment']}</div>
-                                        </div>
-                                        <hr>
-                                    {/foreach}
-                                </div>
-                            </div>
-                        </div>
-                        <div class="tab-pane" id="Author">
-                            <div class="scrollableTab">
-                                <div class="row extension_header">
-                                    <div class="col-sm-6 col-xs-6">
-                                        {if !empty($AUTHOR_INFO['company'])}
-                                            <div class="font-x-x-large authorInfo">{$AUTHOR_INFO['company']}</div>
-                                        {else}
-                                            <div class="font-x-x-large authorInfo">{$AUTHOR_INFO['firstname']}&nbsp;{$AUTHOR_INFO['lastname']}</div>
-                                        {/if}
-                                            <div class="authorInfo">{$AUTHOR_INFO['phone']}</div>
-                                            <div class="authorInfo">{$AUTHOR_INFO['email']}</div>
-                                            <div class="authorInfo"><a href="{$AUTHOR_INFO['website']}" target="_blank">{$AUTHOR_INFO['website']}</a></div>
-                                      </div>
-                                      <div class="col-sm-6 col-xs-6"> &nbsp; </div>
-                                 </div>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
+											<!-- Controls -->
+											<a class="left carousel-control" href="#imageSlider" role="button" data-slide="prev">
+												<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
+												<span class="sr-only"></span>
+											</a>
+											<a class="right carousel-control" href="#imageSlider" role="button" data-slide="next">
+												<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
+												<span class="sr-only"></span>
+											</a>
+										</div>
+									</div>
+									<div class="col-sm-2 col-xs-2">&nbsp;</div>
+								</div>
+							</div>
+							<br>
+							<div class="scrollableTab" style="text-align: left;">
+								<p>{$EXTENSION_DETAIL->get('description')}</p>
+								<p></p>
+							</div>
+						</div>
+						<div class="tab-pane" id="CustomerReviews">
+							<div class="row boxSizingBorderBox" style="padding-bottom: 15px;">
+								<div class="col-sm-6 col-xs-6">
+									<div class="pull-left">
+										<div style="font-size: 55px; line-height:50px; margin-right: 20px;">{$ON_RATINGS}</div>
+									</div>
+									<div class="pull-left">
+										<span data-score="{$ON_RATINGS}" class="rating" data-readonly="true"></span>
+										<div>out of 5</div>
+										<div>({count($CUSTOMER_REVIEWS)} Reviews)</div>
+									</div>
+								</div>
+								{if ($REGISTRATION_STATUS) and ($PASSWORD_STATUS)}
+									<div class="col-sm-6 col-xs-6">
+										<div class="pull-right">
+											{if $EXTENSION_DETAIL->isInstalledByExtnStore()}
+													<button type="button" class="writeReview margin0px pull-right {if $MODULE_ACTION neq 'Installed'} hide{/if}">{vtranslate('LBL_WRITE_A_REVIEW', $QUALIFIED_MODULE)}</button>
+												{else}
+													<span class="alert alert-error">{vtranslate('LBL_REVIEW_RESTRICTED', $QUALIFIED_MODULE)}</span>
+											{/if}
+										</div>
+									</div>
+								{/if}
+							</div><hr>
+							<div class="scrollableTab">
+								<div class="customerReviewContainer" style="">
+									{foreach $CUSTOMER_REVIEWS as $key=>$CUSTOMER_REVIEW}
+										<div class="row" style="margin: 8px 0 15px;">
+											<div class="col-sm-3 col-xs-3">
+												{assign var=ON_RATINGS value=$CUSTOMER_REVIEW['rating']}
+												<div data-score="{$ON_RATINGS}" class="rating" data-readonly="true"></div>
+												{assign var=CUSTOMER_INFO value= $CUSTOMER_REVIEW['customer']}
+												<div>
+													{assign var=REVIEW_CREATED_TIME value=$CUSTOMER_REVIEW['createdon']|replace:'T':' '}
+													{$CUSTOMER_INFO['firstname']}&nbsp;{$CUSTOMER_INFO['lastname']}
+												</div>
+												<div class="muted">{Vtiger_Util_Helper::formatDateTimeIntoDayString($REVIEW_CREATED_TIME)|substr:4}</div>
+											</div>
+											<div class="col-sm-9 col-xs-9">{$CUSTOMER_REVIEW['comment']}</div>
+										</div>
+										<hr>
+									{/foreach}
+								</div>
+							</div>
+						</div>
+						<div class="tab-pane" id="Author">
+							<div class="scrollableTab">
+								<div class="row extension_header">
+									<div class="col-sm-6 col-xs-6">
+										{if !empty($AUTHOR_INFO['company'])}
+											<div class="font-x-x-large authorInfo">{$AUTHOR_INFO['company']}</div>
+										{else}
+											<div class="font-x-x-large authorInfo">{$AUTHOR_INFO['firstname']}&nbsp;{$AUTHOR_INFO['lastname']}</div>
+										{/if}
+											<div class="authorInfo">{$AUTHOR_INFO['phone']}</div>
+											<div class="authorInfo">{$AUTHOR_INFO['email']}</div>
+											<div class="authorInfo"><a href="{$AUTHOR_INFO['website']}" target="_blank">{$AUTHOR_INFO['website']}</a></div>
+									</div>
+									<div class="col-sm-6 col-xs-6"> &nbsp; </div>
+								 </div>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+			<div class="modal-dialog customerReviewModal hide">
+				<div class="modal-content">
+					<div class="modal-header contentsBackground">
+						<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+						<h3>{vtranslate('LBL_CUSTOMER_REVIEW', $QUALIFIED_MODULE)}</h3>
+					</div>
+					<form class="form-horizontal customerReviewForm">
+						<input type="hidden" name="extensionId" value="{$EXTENSION_ID}" />
+						<div class="modal-body">
+							<div class="form-group">
+								<span class="control-label col-sm-2 col-xs-2">
+									{vtranslate('LBL_REVIEW', $QUALIFIED_MODULE)}
+								</span>
+								<div class="controls col-sm-4 col-xs-4">
+									<textarea class="form-control" name="customerReview" data-rule-required="true"></textarea>
+								</div>
+							</div>
+							<div class="form-group">
+								<span class="control-label col-sm-2 col-xs-2">
+									{vtranslate('LBL_RATE_IT', $QUALIFIED_MODULE)}
+								</span>
+								<div class="controls col-sm-4 col-xs-4">
+									<div class="rating"></div>
+								</div>
+							</div>
+						</div>
+						<div class="modal-footer">
+							<div class="row">
+								<div class="col-sm-12 col-xs-12">
+									<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" type="submit" name="saveButton"><strong>{vtranslate('LBL_SAVE', $MODULE)}</strong></button>
+									</div>
+								</div>
+							</div>
+						</div>
+					</form>
+				</div>
+			</div>
 		{else}
 			<div class="row">
-                <div class="col-sm-12 col-xs-12">
-                    {$ERROR_MESSAGE}
-                </div>
-            </div>
+				<div class="col-sm-12 col-xs-12">
+					{$ERROR_MESSAGE}
+				</div>
+			</div>
 		{/if}
-        <div class="modal-dialog customerReviewModal hide">
-            <div class="modal-content">
-                <div class="modal-header contentsBackground">
-                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-                    <h3>{vtranslate('LBL_CUSTOMER_REVIEW', $QUALIFIED_MODULE)}</h3>
-                </div>
-                <form class="form-horizontal customerReviewForm">
-                    <input type="hidden" name="extensionId" value="{$EXTENSION_ID}" />
-                    <div class="modal-body">
-                        <div class="form-group">
-                            <span class="control-label col-sm-2 col-xs-2">
-                                {vtranslate('LBL_REVIEW', $QUALIFIED_MODULE)}
-                            </span>
-                            <div class="controls col-sm-4 col-xs-4">
-                                <textarea class="form-control" name="customerReview" data-rule-required="true"></textarea>
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <span class="control-label col-sm-2 col-xs-2">
-                                {vtranslate('LBL_RATE_IT', $QUALIFIED_MODULE)}
-                            </span>
-                            <div class="controls col-sm-4 col-xs-4">
-                                <div class="rating"></div>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="modal-footer">
-                        <div class="row">
-                            <div class="col-sm-12 col-xs-12">
-                                <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" type="submit" name="saveButton"><strong>{vtranslate('LBL_SAVE', $MODULE)}</strong></button>
-                                </div>
-                            </div>  
-                        </div>
-                    </div>
-                </form>
-            </div>
-        </div>
-    </div>
+	</div>
 
     {include file="CardSetupModals.tpl"|@vtemplate_path:$QUALIFIED_MODULE}
     
diff --git a/layouts/v7/modules/Settings/ExtensionStore/ExtensionCompactableError.tpl b/layouts/v7/modules/Settings/ExtensionStore/ExtensionCompactableError.tpl
new file mode 100644
index 000000000..8ef8af072
--- /dev/null
+++ b/layouts/v7/modules/Settings/ExtensionStore/ExtensionCompactableError.tpl
@@ -0,0 +1,32 @@
+{*+**********************************************************************************
+* The contents of this file are subject to the vtiger CRM Public License Version 1.1
+* ("License"); You may not use this file except in compliance with the License
+* The Original Code is: vtiger CRM Open Source
+* The Initial Developer of the Original Code is vtiger.
+* Portions created by vtiger are Copyright (C) vtiger.
+* All Rights Reserved.
+*************************************************************************************}
+
+{strip}
+	<div style="min-height: 600px;">
+		<table border="0" cellpadding="5" cellspacing="0" width="100%" style="margin-top: 100px;">
+			<tr>
+				<td align="center">
+					<div style="border: 3px solid rgb(153, 153, 153); background-color: rgb(255, 255, 255); width: 40%; position: relative;padding-right: 3px;">
+						<table border="0" cellpadding="5" cellspacing="0" width="98%">
+							<tbody>
+								<tr>
+									<td rowspan="2" width="10%"><img src="{vimage_path("denied.gif")}" style="margin: 10px;"></td>
+									<td rowspan="2" width="40%" style="border-bottom: 1px solid rgb(204, 204, 204);">
+										<span class="genHeaderSmall"><b>{vtranslate($EXTENSION_LABEL, $QUALIFIED_MODULE)}</b> {vtranslate('LBL_EXTENSION_NOT_COMPATABLE', $QUALIFIED_MODULE)}</span>
+									</td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</td>
+			</tr>
+		</table>
+		{include file="CardSetupModals.tpl"|@vtemplate_path:$QUALIFIED_MODULE QUALIFIED_MODULE=$QUALIFIED_MODULE}
+	</div>
+{strip}
\ No newline at end of file
diff --git a/modules/Migration/schema/700_to_701.php b/modules/Migration/schema/700_to_701.php
index 30086d109..9da2feb45 100644
--- a/modules/Migration/schema/700_to_701.php
+++ b/modules/Migration/schema/700_to_701.php
@@ -32,8 +32,9 @@ if(defined('VTIGER_UPGRADE')) {
 			  ) ENGINE=InnoDB DEFAULT CHARSET=utf8", true);
 	}
 
-	$updateModulesList = array(	'Project'	=> 'packages/vtiger/optional/Projects.zip',
-								'Google'	=> 'packages/vtiger/optional/Google.zip');
+	$updateModulesList = array(	'Project'		=> 'packages/vtiger/optional/Projects.zip',
+								'Google'		=> 'packages/vtiger/optional/Google.zip',
+								'ExtensionStore'=> 'packages/vtiger/marketplace/ExtensionStore.zip');
 	foreach ($updateModulesList as $moduleName => $packagePath) {
 		$moduleInstance = Vtiger_Module::getInstance($moduleName);
 		if($moduleInstance) {
diff --git a/pkg/vtiger/modules/ExtensionStore/languages/en_us/Settings/ExtensionStore.php b/pkg/vtiger/modules/ExtensionStore/languages/en_us/Settings/ExtensionStore.php
index 6e96e8baf..e6fcdda4e 100644
--- a/pkg/vtiger/modules/ExtensionStore/languages/en_us/Settings/ExtensionStore.php
+++ b/pkg/vtiger/modules/ExtensionStore/languages/en_us/Settings/ExtensionStore.php
@@ -1,8 +1,13 @@
 <?php
-/* 
-* Copyright (C) www.vtiger.com. All rights reserved.
-* @license Proprietary
-*/
+/* +**********************************************************************************
+ * 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.
+ * ***********************************************************************************/
+
 $languageStrings = array(
 	'LBL_PUBLISHER' => 'Publisher',
 	'LBL_LICENSE' => 'License',
@@ -22,102 +27,111 @@ $languageStrings = array(
 	'LBL_INSTALLATION_LOG' => 'Installation Log',
 	'LBL_UPDATED_MODULE' => ' module was updated successfully.',
 	'LBL_UPDATING_MODULE' => 'Updating Module',
-    
-        //Extension Store translations
-        'LBL_VTIGER_EXTENSION_STORE' => 'Vtiger Extension Store',
-        'LBL_SEARCH_FOR_AN_EXTENSION'  => 'Search for an extension..',
-        'LBL_DOWNLOADS' => 'Downloads',
-        'LBL_NO_EXTENSIONS_FOUND' => 'No Extensions Found',
-        'LBL_REGISTER_TO_MARKET_PLACE' => 'Register to Marketplace',
-        'LBL_MARKETPLACE_REGISTRATION' => 'Marketplace Registration',
-        'LBL_MARKETPLACE_LOGIN' => 'Marketplace Login',
-        'LBL_NEW_TO_MARKETPLCAE' => 'New to Marketplace ?',
-        'LBL_CREATE_AN_ACCOUNT' => 'Create a new account',
-        'LBL_SETUP_CARD_DETAILS' => 'Setup Card Details',
-        'LBL_SETUP_CARD' => 'Setup Card',
-        'LBL_CARD_NUMBER' => 'Card Number',
-        'LBL_EXP_MONTH' => 'Exp Month',
-        'LBL_EXP_YEAR' => 'Exp Year',
-        'LBL_CVC_CODE' => 'CVC Code',
-        'LBL_RESET' => 'Reset',
-        'LBL_EXTENSION_STORE' => 'Extension Store',
-        'LBL_INSTALLED' => 'Installed',
-        'LBL_UPDATE_CARD_DETAILS' => 'Update Card Details',
-        'LBL_BY' => 'by',
-        'LBL_RATINGS' => 'Ratings',
-        'LBL_DESCRIPTION' => 'Description',
-        'LBL_AUTHOR_INFORMATION' => 'Author Information',
-        'LBL_AUTHOR_NAME' => 'Author Name',
-        'LBL_PHONE' => 'Phone',
-        'LBL_EMAIL' => 'Email',
-        'LBL_SCREEN_SHOTS' => 'Screenshots',
-        'LBL_CUSTOMER_RATINGS' => 'Customer Ratings',
-        'LBL_CUSTOMER_REVIEWS' => 'Customer Reviews',
-        'LBL_WRITE_A_REVIEW' => 'Write a Review',
-        'LBL_CUSTOMER_REVIEW' => 'Customer Review',
-        'LBL_REVIEW' => 'Review',
-        'LBL_CUSTOMERS_REVIEWED' => 'Customers Reviewed',
-        'LBL_SINGLE_CUSTOMER_REVIEWED' => 'Single Customer Reviewed',
-        'LBL_INSTALLATION_FAILED' => 'Installation Failed',
-        'LBL_SUCCESSFULL_INSTALLATION' => 'Successful Installation',
-        'LBL_INSTALL_FROM_ZIP' => 'Install from Zip',
-        'LBL_MORE_DETAILS' => 'More Details',
-        'Install' => 'Install',
-        'Upgrade' => 'Upgrade',
-        'LBL_RATE_IT' => 'Rate it.',
-        'LBL_UNINSTALL' => 'UnInstall',
-        'LBL_LAUNCH' => 'Launch',
-        'LBL_SIGN_UP_FOR_FREE' => 'Sign up for free',
-        'LBL_EMAIL_ADDRESS' => 'Email address',
-        'LBL_FIRST_NAME' => 'First name',
-        'LBL_LAST_NAME' => 'Last name',
-        'LBL_COMPANY_NAME' => 'Company name',
-        'LBL_PASSWORD' => 'Password',
-        'LBL_CONFIRM_PASSWORD' => 'Confirm password',
-        'LBL_REGISTER' => 'Register',
-        'LBL_EXTENSION_STORE_LOGIN' => 'Extensionstore Login',
-        'LBL_REMEMBER_ME' => 'Remember me',
-        'LBL_TRY_IT' => 'Try it',
-        'LBL_TRIAL_INSTALLED' => 'Trial Installed',
-        'LBL_BUY' => 'Buy ',
-        'LBL_LOGIN_TO_MARKET_PLACE' => 'Login to Marketplace',
-        'LBL_LOGIN' => 'Login',
-        'LBL_PHP_EXTENSION_LOADER_IS_NOT_AVAIABLE' => 'Please install extension loader',
-        'LBL_INSTALL_EXTENSION_LOADER' => 'Install Extension Loader',
-        'LBL_TO_CONTINUE_USING_EXTENSION_STORE' => 'To continue using Extension Store please install ',
-        'LBL_DOWNLOAD' => 'Download',
-        'LBL_COMPATIABLE_EXTENSION' => ' and enable it as zend_extension.',
-        'LBL_MORE_DETAILS_ON_INSTALLATION' => 'For more details on installation ',
-        'LBL_READ_HERE' => 'read here',
-        'LBL_REVIEWS' => 'Reviews',
-        'LBL_SIGNUP_FOR_MARKET_PLACE' => 'Signup for Marketplace',
-        'LBL_UNAUTHORIZED' => 'Unauthorized',
-        'LBL_EXPIRY_DATE'  => 'Expiry Date',
-	'LBL_LOGOUT'  => 'Logout',
-    
-        'firstname' => 'First Name',
-        'lastname' => 'Last Name',
-        'email' => 'Email',
-        'company' => 'Company',
-        'Phone' => 'Phone',
-        'Website' => 'Website',
-        'LBL_SECURITY_CODE' => 'Security Code',
-        'LBL_WHAT_IS_SECURITY_CODE' => 'What is Security Code ?',
-        'LBL_CARD_NUMBER_PLACEHOLDER' => '16 digit number on your card',
-        'LBL_SECURITY_CODE_HELP_CONTENT' => 'The CVV Number(Card Verification Value) on your credit/debit card is a 3 digit number on VISA®, MasterCard® etc.. branded credit/debit cards.',
+	'LBL_MARKET_PLACE' => 'Market Place',
+
+	//Extension Store translations
+	'LBL_VTIGER_EXTENSION_STORE' => 'Vtiger Extension Store',
+	'LBL_SEARCH_FOR_AN_EXTENSION' => 'Search for an extension..',
+	'LBL_DOWNLOADS' => 'Downloads',
+	'LBL_NO_EXTENSIONS_FOUND' => 'No Extensions Found',
+	'LBL_REGISTER_TO_MARKET_PLACE' => 'Register to Marketplace',
+	'LBL_MARKETPLACE_REGISTRATION' => 'Marketplace Registration',
+	'LBL_MARKETPLACE_LOGIN' => 'Marketplace Login',
+	'LBL_NEW_TO_MARKETPLCAE' => 'New to Marketplace ?',
+	'LBL_CREATE_AN_ACCOUNT' => 'Create a new account',
+	'LBL_SETUP_CARD_DETAILS' => 'Setup Card Details',
+	'LBL_SETUP_CARD' => 'Setup Card',
+	'LBL_CARD_NUMBER' => 'Card Number',
+	'LBL_EXP_MONTH' => 'Exp Month',
+	'LBL_EXP_YEAR' => 'Exp Year',
+	'LBL_CVC_CODE' => 'CVC Code',
+	'LBL_RESET' => 'Reset',
+	'LBL_EXTENSION_STORE' => 'Extension Store',
+	'LBL_INSTALLED' => 'Installed',
+	'LBL_UPDATE_CARD_DETAILS' => 'Update Card Details',
+	'LBL_BY' => 'by',
+	'LBL_RATINGS' => 'Ratings',
+	'LBL_DESCRIPTION' => 'Description',
+	'LBL_AUTHOR_INFORMATION' => 'Author Information',
+	'LBL_AUTHOR_NAME' => 'Author Name',
+	'LBL_PHONE' => 'Phone',
+	'LBL_EMAIL' => 'Email',
+	'LBL_SCREEN_SHOTS' => 'Screenshots',
+	'LBL_CUSTOMER_RATINGS' => 'Customer Ratings',
+	'LBL_CUSTOMER_REVIEWS' => 'Customer Reviews',
+	'LBL_WRITE_A_REVIEW' => 'Write a Review',
+	'LBL_CUSTOMER_REVIEW' => 'Customer Review',
+	'LBL_REVIEW' => 'Review',
+	'LBL_CUSTOMERS_REVIEWED' => 'Customers Reviewed',
+	'LBL_SINGLE_CUSTOMER_REVIEWED' => 'Single Customer Reviewed',
+	'LBL_INSTALLATION_FAILED' => 'Installation Failed',
+	'LBL_SUCCESSFULL_INSTALLATION' => 'Successful Installation',
+	'LBL_INSTALL_FROM_ZIP' => 'Install from Zip',
+	'LBL_MORE_DETAILS' => 'More Details',
+	'Install' => 'Install',
+	'Upgrade' => 'Upgrade',
+	'LBL_RATE_IT' => 'Rate it.',
+	'LBL_UNINSTALL' => 'Uninstall',
+	'LBL_LAUNCH' => 'Launch',
+	'LBL_SIGN_UP_FOR_FREE' => 'Sign up for free',
+	'LBL_EMAIL_ADDRESS' => 'Email address',
+	'LBL_FIRST_NAME' => 'First name',
+	'LBL_LAST_NAME' => 'Last name',
+	'LBL_COMPANY_NAME' => 'Company name',
+	'LBL_PASSWORD' => 'Password',
+	'LBL_CONFIRM_PASSWORD' => 'Confirm password',
+	'LBL_REGISTER' => 'Register',
+	'LBL_EXTENSION_STORE_LOGIN' => 'Extensionstore Login',
+	'LBL_REMEMBER_ME' => 'Remember me',
+	'LBL_TRY_IT' => 'Try it',
+	'LBL_TRIAL_INSTALLED' => 'Trial Installed',
+	'LBL_BUY' => 'Buy ',
+	'LBL_LOGIN_TO_MARKET_PLACE' => 'Login to Marketplace',
+	'LBL_LOGIN' => 'Login',
+	'LBL_PHP_EXTENSION_LOADER_IS_NOT_AVAIABLE' => 'Please install extension loader',
+	'LBL_INSTALL_EXTENSION_LOADER' => 'Install Extension Loader',
+	'LBL_TO_CONTINUE_USING_EXTENSION_STORE' => 'To continue using Extension Store please install ',
+	'LBL_DOWNLOAD' => 'Download',
+	'LBL_COMPATIABLE_EXTENSION' => ' and enable it as zend_extension.',
+	'LBL_MORE_DETAILS_ON_INSTALLATION' => 'For more details on installation ',
+	'LBL_READ_HERE' => 'read here',
+	'LBL_REVIEWS' => 'Reviews',
+	'LBL_SIGNUP_FOR_MARKET_PLACE' => 'Signup for Marketplace',
+	'LBL_UNAUTHORIZED' => 'Unauthorized',
+	'LBL_EXPIRY_DATE' => 'Expiry Date',
+	'LBL_LOGOUT' => 'Logout',
+
+	'firstname' => 'First Name',
+	'lastname' => 'Last Name',
+	'email' => 'Email',
+	'company' => 'Company',
+	'Phone' => 'Phone',
+	'Website' => 'Website',
+	'LBL_SECURITY_CODE' => 'Security Code',
+	'LBL_WHAT_IS_SECURITY_CODE' => 'What is Security Code ?',
+	'LBL_CARD_NUMBER_PLACEHOLDER' => '16 digit number on your card',
+	'LBL_SECURITY_CODE_HELP_CONTENT' => 'The CVV Number(Card Verification Value) on your credit/debit card is a 3 digit number on VISA®, MasterCard® etc.. branded credit/debit cards.',
+	'LBL_ENTER_REGISTERED_EMAIL' => 'Enter your registered email',
+	'LBL_RESET_PASSWORD_LINK_EMAILED' => 'Reset Password link emailed to you!',
+	'LBL_FORGOT_PASSWORD' => 'Forgot Password',
+	'LBL_ALREADY_INSTALLED_MODULE_BUILDER' => 'Already created by module builder',
+	'LBL_REVIEW_RESTRICTED' => 'Reviewing restricted',
 );
 $jsLanguageStrings = array(
-  'JS_PLEASE_SETUP_CARD_DETAILS_TO_INSTALL_THIS_EXTENSION'  => 'Please setup card details to install this extension',
-  'JS_UPDATE_CARD_DETAILS' => 'Update Card Details',
-  'JS_ON' => 'on',
-  'JS_RATINGS' => 'Ratings',
-  'JS_INSTALLED' => 'Installed',
-  'JS_TRIAL_INSTALLED' => 'Trial Installed',
-  'JS_PLEASE_INSTALL_EXTENSION_LOADER_TO_INSTALL_THIS_EXTENSION_FROM_BELOW_LINK' => 'Please install extension loader to install this extension from below link',
-  'JS_PLEASE_LOGIN_TO_MARKETPLACE_FOR_INSTALLING_EXTENSION' => 'Please login to marketplace for installing extension',
-  'JS_PLEASE_SETUP_CARD_DETAILS_TO_INSTALL_EXTENSION' => 'Please setup card details to install extension',
-  'JS_PLEASE_LOGIN_TO_MARKETPLACE_FOR_UNINSTALLING_EXTENSION' => 'Please login to marketplace for uninstalling extension',
-  'JS_LBL_ARE_YOU_SURE_YOU_WANT_TO_INSTALL_THIS_EXTENSION' => 'Are you sure you want to install this extension?',  
-  'JS_CARD_DETAILS_UPDATED' => 'Card details updated!',  
-  'JS_LBL_ARE_YOU_SURE_YOU_WANT_TO_LOGOUT_FROM_EXTENSION' => 'Are you sure you want to log out from extension?',
-);
+	'JS_PLEASE_SETUP_CARD_DETAILS_TO_INSTALL_THIS_EXTENSION' => 'Please setup card details to install this extension',
+	'JS_UPDATE_CARD_DETAILS' => 'Update Card Details',
+	'JS_ON' => 'on',
+	'JS_RATINGS' => 'Ratings',
+	'JS_INSTALLED' => 'Installed',
+	'JS_TRIAL_INSTALLED' => 'Trial Installed',
+	'JS_PLEASE_INSTALL_EXTENSION_LOADER_TO_INSTALL_THIS_EXTENSION_FROM_BELOW_LINK' => 'Please install extension loader to install this extension from below link',
+	'JS_PLEASE_LOGIN_TO_MARKETPLACE_FOR_INSTALLING_EXTENSION' => 'Please login to marketplace for installing extension',
+	'JS_PLEASE_SETUP_CARD_DETAILS_TO_INSTALL_EXTENSION' => 'Please setup card details to install extension',
+	'JS_PLEASE_LOGIN_TO_MARKETPLACE_FOR_UNINSTALLING_EXTENSION' => 'Please login to marketplace for uninstalling extension',
+	'JS_LBL_ARE_YOU_SURE_YOU_WANT_TO_INSTALL_THIS_EXTENSION' => 'Are you sure you want to install this extension?',
+	'JS_CARD_DETAILS_UPDATED' => 'Card details updated!',
+	'JS_LBL_ARE_YOU_SURE_YOU_WANT_TO_LOGOUT_FROM_EXTENSION' => 'Are you sure you want to log out from extension?',
+	'JS_PASSWORDS_MISMATCH' => "Passwords didn't match!",
+	'JS_ARE_YOU_SURE_UNINSTALL' => 'Are you sure you want to uninstall this Extension',
+	'JS_ARE_YOU_SURE_INSTALL' => 'Are you sure you want to install this extension',
+);
\ No newline at end of file
-- 
GitLab