diff --git a/layouts/v7/modules/Vtiger/ExtensionListLog.tpl b/layouts/v7/modules/Vtiger/ExtensionListLog.tpl
index 25ce91516e3242384134ac03764007e8942ed2f1..1df65187d59249c02f7f0ab4e8f27e8879d714b3 100644
--- a/layouts/v7/modules/Vtiger/ExtensionListLog.tpl
+++ b/layouts/v7/modules/Vtiger/ExtensionListLog.tpl
@@ -15,7 +15,7 @@
<div class="col-sm-6 col-xs-6">
<div class="pull-right">
<span class="module-title">
- <h3><a data-url="{$MODULE_MODEL->getExtensionSettingsUrl($SOURCE_MODULE)}" class="btn addButton btn-default settingsPage" type="button" id="Contacts_basicAction_LBL_Sync_Settings"><span aria-hidden="true" class="fa fa-cog"></span><strong> {vtranslate('LBL_SYNC_SETTINGS', $MODULE)} </strong></a></h3>
+ <h3><a data-url="{$MODULE_MODEL->getExtensionSettingsUrl($SOURCE_MODULE)}" class="btn addButton btn-default settingsPage" type="button" id="Contacts_basicAction_LBL_Sync_Settings"><span aria-hidden="true" class="fa fa-cog"></span> {vtranslate('LBL_SYNC_SETTINGS', $MODULE)}</a></h3>
</span>
</div>
</div>
diff --git a/layouts/v7/modules/Vtiger/ExtensionLogDetail.tpl b/layouts/v7/modules/Vtiger/ExtensionLogDetail.tpl
index 057ad16ae67cff41b797c4767e69e65875a9ba3f..287a096d6b73c9ec633d4e180a31a958927da87e 100644
--- a/layouts/v7/modules/Vtiger/ExtensionLogDetail.tpl
+++ b/layouts/v7/modules/Vtiger/ExtensionLogDetail.tpl
@@ -19,7 +19,7 @@
<div class="col-sm-8 col-xs-8"></div>
<div class="col-sm-4 col-xs-4">
<a id="downloadCsv" href="index.php?module={$SOURCE_MODULE}&view=ExportExtensionLog&logid={$LOG_ID}&type={$TYPE}" type="button" class="btn addButton btn-default downloadCsv pull-right">
- <span class="fa fa-download" aria-hidden="true"></span><strong> {vtranslate('LBL_DOWNLOAD_AS_CSV', $MODULE)} </strong>
+ <span class="fa fa-download" aria-hidden="true"></span> {vtranslate('LBL_DOWNLOAD_AS_CSV', $MODULE)}
</a>
</div>
</div>
diff --git a/modules/Migration/schema/701_to_710.php b/modules/Migration/schema/701_to_710.php
index 717c6f6485baa2f5aab482d92110e7aac2becfb4..f1397e98e085542857aea347a7eba2cca964aabe 100644
--- a/modules/Migration/schema/701_to_710.php
+++ b/modules/Migration/schema/701_to_710.php
@@ -99,7 +99,7 @@ if (defined('VTIGER_UPGRADE')) {
}
}
echo '<br>Succecssfully generalized tag fields<br>';
- //START::Tag fields are pointed to cf table for the modules Assets, Services etc..
+ //END::Tag fields are pointed to cf table for the modules Assets, Services etc..
//START::Follow & unfollow features
$em = new VTEventsManager($db);
@@ -171,4 +171,6 @@ if (defined('VTIGER_UPGRADE')) {
//Update existing package modules
Install_Utils_Model::installModules();
+
+ echo '<br>Succecssfully vtiger version updated to <b>7.1.0</b><br>';
}
diff --git a/pkg/vtiger/modules/Google/layouts/v7/modules/Google/ExtensionSettings.tpl b/pkg/vtiger/modules/Google/layouts/v7/modules/Google/ExtensionSettings.tpl
index d852dc78c643fbe26d791780ea4a60f3798cc81a..5718b48f469a638175de841c8106a72cd323faa8 100644
--- a/pkg/vtiger/modules/Google/layouts/v7/modules/Google/ExtensionSettings.tpl
+++ b/pkg/vtiger/modules/Google/layouts/v7/modules/Google/ExtensionSettings.tpl
@@ -1,140 +1,138 @@
{*+**********************************************************************************
- * 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.
- ************************************************************************************}
+* The contents of this file are subject to the vtiger CRM Public License Version 1.1
+* ("License"); You may not use this file except in compliance with the License
+* The Original Code is: vtiger CRM Open Source
+* The Initial Developer of the Original Code is vtiger.
+* Portions created by vtiger are Copyright (C) vtiger.
+* All Rights Reserved.
+*************************************************************************************}
+
{assign var=RETURN_URL value={$MODULE_MODEL->getExtensionSettingsUrl($SOURCEMODULE)}}
{if $PARENT eq 'Settings'}
- {assign var=RETURN_URL value=$MODULE_MODEL->getExtensionSettingsUrl($SOURCEMODULE)|cat:"&parent=Settings"}
+ {assign var=RETURN_URL value=$MODULE_MODEL->getExtensionSettingsUrl($SOURCEMODULE)|cat:"&parent=Settings"}
{/if}
<input type="hidden" name="settingsPage" value="{$RETURN_URL}">
<div class="col-sm-12 col-xs-12 extensionContents">
- <div class="row">
- <div class="col-sm-12 col-xs-12">
- <h3 class="module-title pull-left"> {vtranslate('LBL_SELECT_MODULES_TO_SYNC', $MODULE)} </h3>
- </div>
- </div>
- <br>
- <form name="settingsForm" action="index.php" method="POST" >
- <input type="hidden" name="module" value="{$MODULE}" />
- <input type="hidden" name="action" value="SaveSyncSettings" />
- <input type="hidden" name="sourceModule" value="{$SOURCEMODULE}" />
- <input type="hidden" name="parent" value="{$PARENT}">
- <div class="row">
- <div class="col-sm-12 col-xs-12">
- <table class="listview-table table-bordered" align="center">
- <thead>
- <th> {vtranslate($MODULE, $MODULE)} {vtranslate('LBL_DATA', $MODULE)} </th>
- <th> {vtranslate('APPTITLE', $MODULE)} {vtranslate('LBL_DATA', $MODULE)} </th>
- <th> {vtranslate('LBL_FIELD_MAPPING', $MODULE)} </th>
- <th> {vtranslate('LBL_ENABLE_SYNC', $MODULE)} </th>
- <th> {vtranslate('LBL_SYNC_DIRECTION', $MODULE)} </th>
- </thead>
- <tbody>
- <tr>
- <td>
- <select name="Contacts[google_group]" class="inputElement select2 row" style="min-width: 250px;">
- <option value="all">{vtranslate('LBL_ALL',$MODULENAME)}</option>
- {assign var=IS_GROUP_DELETED value=1}
- {foreach item=ENTRY from=$GOOGLE_CONTACTS_GROUPS['entry']}
- <option value="{$ENTRY['id']}" {if $ENTRY['id'] eq $SELECTED_CONTACTS_GROUP} {assign var=IS_GROUP_DELETED value=0} selected {/if}>{$ENTRY['title']}</option>
- {/foreach}
- {if $IS_GROUP_DELETED && $SELECTED_CONTACTS_GROUP != 'all'}
- {if $SELECTED_CONTACTS_GROUP != ''}<option value="none" selected>{vtranslate('LBL_NONE',$MODULENAME)}</option>{/if}
- {/if}
- </select>
- </td>
- <td>{vtranslate('Contacts', 'Contacts')}</td>
- <td><a id="syncSetting" class="extensionLink" data-sync-module="Contacts">{vtranslate('LBL_CONFIGURE', $MODULE)}</a></td>
- <td><input name="Contacts[enabled]" type="checkbox" {if $CONTACTS_ENABLED} checked {/if}></td>
- <td>
- <select name="Contacts[sync_direction]" class="inputElement select2 row" style="min-width: 250px;">
- <option value="11" {if $CONTACTS_SYNC_DIRECTION eq 11} selected {/if}> {vtranslate('LBL_SYNC_BOTH_WAYS', $MODULE)} </option>
- <option value="10" {if $CONTACTS_SYNC_DIRECTION eq 10} selected {/if}> {vtranslate('LBL_SYNC_FROM_GOOGLE_TO_VTIGER', $MODULE)} </option>
- <option value="01" {if $CONTACTS_SYNC_DIRECTION eq 01} selected {/if}> {vtranslate('LBL_SYNC_FROM_VTIGER_TO_GOOGLE', $MODULE)} </option>
- </select>
- </td>
- </tr>
- <tr>
- <td>
- <select name="Calendar[google_group]" class="inputElement select2 row" style="min-width: 250px;">
- {if count($GOOGLE_CALENDARS) eq 0}
- <option value="primary">{vtranslate('LBL_PRIMARY',$MODULENAME)}</option>
- {/if}
- {foreach item=CALENDAR_ITEM from=$GOOGLE_CALENDARS}
- <option value="{if $CALENDAR_ITEM['primary'] eq 1}primary{else}{$CALENDAR_ITEM['id']}{/if}" {if $SELECTED_GOOGLE_CALENDAR eq $CALENDAR_ITEM['id']}selected{/if} {if $SELECTED_GOOGLE_CALENDAR eq 'primary' && $CALENDAR_ITEM['primary'] eq 1} selected {/if}>{$CALENDAR_ITEM['summary']}</option>
- {/foreach}
- </select>
- </td>
- <td>{vtranslate('Calendar', 'Calendar')}</td>
- <td><a id="syncSetting" class="extensionLink" data-sync-module="Calendar">{vtranslate('LBL_VIEW', $MODULE)}</a></td>
- <td><input name="Calendar[enabled]" type="checkbox" {if $CALENDAR_ENABLED} checked {/if}></td>
- <td>
- <select name="Calendar[sync_direction]" class="inputElement select2 row" style="min-width: 250px;">
- <option value="11" {if $CALENDAR_SYNC_DIRECTION eq 11} selected {/if}> {vtranslate('LBL_SYNC_BOTH_WAYS', $MODULE)} </option>
- <option value="10" {if $CALENDAR_SYNC_DIRECTION eq 10} selected {/if}> {vtranslate('LBL_SYNC_FROM_GOOGLE_TO_VTIGER', $MODULE)} </option>
- <option value="01" {if $CALENDAR_SYNC_DIRECTION eq 01} selected {/if}> {vtranslate('LBL_SYNC_FROM_VTIGER_TO_GOOGLE', $MODULE)} </option>
- </select>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <div id="scroller_wrapper" class="bottom-fixed-scroll">
- <div id="scroller" class="scroller-div"></div>
- </div>
- <div class="col-sm-2 col-xs-2">
- </div>
- </div>
- <br>
- {if !$IS_SYNC_READY}
- <div class="row">
- <div class="col-sm-12 col-xs-12">
- <h3 class="module-title pull-left"> {vtranslate('LBL_GOOGLE_CONNECT_MSG', $MODULE)} </h3>
- </div>
- </div>
- <br>
- <div class="row">
- <div class="col-sm-3 col-xs-3">
- <a id="authorizeButton" class="btn btn-block btn-social btn-lg btn-google-plus" data-url='index.php?module={$MODULE}&view=List&operation=sync&sourcemodule={$SOURCEMODULE}'><i class="fa fa-google-plus"></i>{vtranslate('LBL_SIGN_IN_WITH_GOOGLE', $MODULE)}</a>
- </div>
- </div>
- {else}
- <div class="row">
- <div class="col-sm-12 col-xs-12">
- <h3 class="module-title pull-left"> {vtranslate('LBL_GOOGLE_ACCOUNT_DETAILS', $MODULE)} </h3>
- </div>
- </div>
- <br>
- {if $USER_EMAIL}
- <div class="row">
- <div class="col-sm-3 col-xs-3">
- <h5 class="module-title pull-left fieldLabel"> {vtranslate('LBL_GOOGLE_ACCOUNT_SYNCED_WITH', $MODULE)} </h5>
- </div>
- <div class="col-sm-4 col-xs-4">
- <input class="listSearchContributor col-sm-12 col-xs-12" type="text" value="{$USER_EMAIL}" disabled="disabled" style="height: 30px;">
- </div>
- </div>
- {/if}
- <div class="row" style="margin-top: 10px;">
- <div class="col-sm-3 col-xs-3">
-
- </div>
- <div class="col-sm-3 col-xs-3">
- <a id="authorizeButton" class="btn btn-block btn-social btn-lg btn-google-plus" data-url='index.php?module={$MODULE}&view=List&operation=changeUser&sourcemodule={$SOURCEMODULE}'><i class="fa fa-google-plus"></i> {vtranslate('LBL_CHANGE_USER', $MODULE)} </a>
- </div>
- </div>
- {/if}
- <div style="margin-top: 8%;">
- <div>
- <button id="saveSettings" type="submit" class="btn btn-success saveButton">{vtranslate('LBL_SAVE_SETTINGS', $MODULENAME)}</button>
- {if $PARENT neq 'Settings'}
- <a type="reset" data-url="{$MODULE_MODEL->getBaseExtensionUrl($SOURCEMODULE)}" class="cancelLink navigationLink">{vtranslate('LBL_CANCEL', $MODULENAME)}</a>
- {/if}
- </div>
- </div>
- </form>
+ <div class="row">
+ <div class="col-sm-12 col-xs-12">
+ <h3 class="module-title pull-left"> {vtranslate('LBL_SELECT_MODULES_TO_SYNC', $MODULE)} </h3>
+ </div>
+ </div>
+ <br>
+ <form name="settingsForm" action="index.php" method="POST" >
+ <input type="hidden" name="module" value="{$MODULE}" />
+ <input type="hidden" name="action" value="SaveSyncSettings" />
+ <input type="hidden" name="sourceModule" value="{$SOURCEMODULE}" />
+ <input type="hidden" name="parent" value="{$PARENT}">
+ <div class="row">
+ <div class="col-sm-12 col-xs-12">
+ <table class="listview-table table-bordered" align="center">
+ <thead>
+ <th> {vtranslate($MODULE, $MODULE)} {vtranslate('LBL_DATA', $MODULE)} </th>
+ <th> {vtranslate('APPTITLE', $MODULE)} {vtranslate('LBL_DATA', $MODULE)} </th>
+ <th> {vtranslate('LBL_FIELD_MAPPING', $MODULE)} </th>
+ <th> {vtranslate('LBL_ENABLE_SYNC', $MODULE)} </th>
+ <th> {vtranslate('LBL_SYNC_DIRECTION', $MODULE)} </th>
+ </thead>
+ <tbody>
+ <tr>
+ <td>
+ <select name="Contacts[google_group]" class="inputElement select2 row" style="min-width: 250px;">
+ <option value="all">{vtranslate('LBL_ALL',$MODULENAME)}</option>
+ {assign var=IS_GROUP_DELETED value=1}
+ {foreach item=ENTRY from=$GOOGLE_CONTACTS_GROUPS['entry']}
+ <option value="{$ENTRY['id']}" {if $ENTRY['id'] eq $SELECTED_CONTACTS_GROUP} {assign var=IS_GROUP_DELETED value=0} selected {/if}>{$ENTRY['title']}</option>
+ {/foreach}
+ {if $IS_GROUP_DELETED && $SELECTED_CONTACTS_GROUP != 'all'}
+ {if $SELECTED_CONTACTS_GROUP != ''}<option value="none" selected>{vtranslate('LBL_NONE',$MODULENAME)}</option>{/if}
+ {/if}
+ </select>
+ </td>
+ <td>{vtranslate('Contacts', 'Contacts')}</td>
+ <td><a id="syncSetting" class="extensionLink" data-sync-module="Contacts">{vtranslate('LBL_CONFIGURE', $MODULE)}</a></td>
+ <td><input name="Contacts[enabled]" type="checkbox" {if $CONTACTS_ENABLED} checked {/if}></td>
+ <td>
+ <select name="Contacts[sync_direction]" class="inputElement select2 row" style="min-width: 250px;">
+ <option value="11" {if $CONTACTS_SYNC_DIRECTION eq 11} selected {/if}> {vtranslate('LBL_SYNC_BOTH_WAYS', $MODULE)} </option>
+ <option value="10" {if $CONTACTS_SYNC_DIRECTION eq 10} selected {/if}> {vtranslate('LBL_SYNC_FROM_GOOGLE_TO_VTIGER', $MODULE)} </option>
+ <option value="01" {if $CONTACTS_SYNC_DIRECTION eq 01} selected {/if}> {vtranslate('LBL_SYNC_FROM_VTIGER_TO_GOOGLE', $MODULE)} </option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <select name="Calendar[google_group]" class="inputElement select2 row" style="min-width: 250px;">
+ {if count($GOOGLE_CALENDARS) eq 0}
+ <option value="primary">{vtranslate('LBL_PRIMARY',$MODULENAME)}</option>
+ {/if}
+ {foreach item=CALENDAR_ITEM from=$GOOGLE_CALENDARS}
+ <option value="{if $CALENDAR_ITEM['primary'] eq 1}primary{else}{$CALENDAR_ITEM['id']}{/if}" {if $SELECTED_GOOGLE_CALENDAR eq $CALENDAR_ITEM['id']}selected{/if} {if $SELECTED_GOOGLE_CALENDAR eq 'primary' && $CALENDAR_ITEM['primary'] eq 1} selected {/if}>{$CALENDAR_ITEM['summary']}</option>
+ {/foreach}
+ </select>
+ </td>
+ <td>{vtranslate('Calendar', 'Calendar')}</td>
+ <td><a id="syncSetting" class="extensionLink" data-sync-module="Calendar">{vtranslate('LBL_VIEW', $MODULE)}</a></td>
+ <td><input name="Calendar[enabled]" type="checkbox" {if $CALENDAR_ENABLED} checked {/if}></td>
+ <td>
+ <select name="Calendar[sync_direction]" class="inputElement select2 row" style="min-width: 250px;">
+ <option value="11" {if $CALENDAR_SYNC_DIRECTION eq 11} selected {/if}> {vtranslate('LBL_SYNC_BOTH_WAYS', $MODULE)} </option>
+ <option value="10" {if $CALENDAR_SYNC_DIRECTION eq 10} selected {/if}> {vtranslate('LBL_SYNC_FROM_GOOGLE_TO_VTIGER', $MODULE)} </option>
+ <option value="01" {if $CALENDAR_SYNC_DIRECTION eq 01} selected {/if}> {vtranslate('LBL_SYNC_FROM_VTIGER_TO_GOOGLE', $MODULE)} </option>
+ </select>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div id="scroller_wrapper" class="bottom-fixed-scroll">
+ <div id="scroller" class="scroller-div"></div>
+ </div>
+ <div class="col-sm-2 col-xs-2">
+ </div>
+ </div>
+ <br>
+ {if !$IS_SYNC_READY}
+ <div class="row">
+ <div class="col-sm-12 col-xs-12">
+ <h3 class="module-title pull-left"> {vtranslate('LBL_GOOGLE_CONNECT_MSG', $MODULE)} </h3>
+ </div>
+ </div>
+ <br>
+ <div class="row">
+ <div class="col-sm-3 col-xs-3">
+ <a id="authorizeButton" class="btn btn-block btn-social btn-lg btn-google-plus" data-url='index.php?module={$MODULE}&view=List&operation=sync&sourcemodule={$SOURCEMODULE}'><i class="fa fa-google-plus"></i>{vtranslate('LBL_SIGN_IN_WITH_GOOGLE', $MODULE)}</a>
+ </div>
+ </div>
+ {else}
+ <div class="row">
+ <div class="col-sm-12 col-xs-12">
+ <h3 class="module-title pull-left"> {vtranslate('LBL_GOOGLE_ACCOUNT_DETAILS', $MODULE)} </h3>
+ </div>
+ </div>
+ <br>
+ {if $USER_EMAIL}
+ <div class="row">
+ <div class="col-sm-3 col-xs-3">
+ <h5 class="module-title pull-left fieldLabel"> {vtranslate('LBL_GOOGLE_ACCOUNT_SYNCED_WITH', $MODULE)} </h5>
+ </div>
+ <div class="col-sm-4 col-xs-4">
+ <input class="listSearchContributor col-sm-12 col-xs-12" type="text" value="{$USER_EMAIL}" disabled="disabled" style="height: 30px;">
+ </div>
+ </div>
+ {/if}
+ <div class="row">
+ <div class="col-sm-3 col-xs-3">
+ <a id="authorizeButton" class="btn btn-block btn-social btn-lg btn-google-plus" data-url='index.php?module={$MODULE}&view=List&operation=changeUser&sourcemodule={$SOURCEMODULE}'><i class="fa fa-google-plus"></i> {vtranslate('LBL_CHANGE_USER', $MODULE)} </a>
+ </div>
+ </div>
+ {/if}
+ <div style="margin-top: 8%;">
+ <div>
+ <button id="saveSettings" type="submit" class="btn btn-success saveButton">{vtranslate('LBL_SAVE_SETTINGS', $MODULENAME)}</button>
+ {if $PARENT neq 'Settings'}
+ <a type="reset" data-url="{$MODULE_MODEL->getBaseExtensionUrl($SOURCEMODULE)}" class="cancelLink navigationLink">{vtranslate('LBL_CANCEL', $MODULENAME)}</a>
+ {/if}
+ </div>
+ </div>
+ </form>
</div>
\ No newline at end of file
diff --git a/pkg/vtiger/modules/Google/modules/Google/connectors/Oauth2.php b/pkg/vtiger/modules/Google/modules/Google/connectors/Oauth2.php
index 5dcf07501318b8c47d7c47caf2050031d5e99736..501cec807a6f9c6a981b3ad5d1d878704405eac1 100644
--- a/pkg/vtiger/modules/Google/modules/Google/connectors/Oauth2.php
+++ b/pkg/vtiger/modules/Google/modules/Google/connectors/Oauth2.php
@@ -117,8 +117,7 @@ class Google_Oauth2_Connector {
public function getState($source) {
global $site_URL;
- $callbackUri = rtrim($site_URL, '/') . '/index.php?module=Google&view=List&operation=sync&sourcemodule=' .
- $this->source_module . '&service=' . $source;
+ $callbackUri = rtrim($site_URL, '/') . '/index.php?module=Google&view=List&operation=sync&sourcemodule='.$this->source_module . '&service=' . $source;
$stateDetails['url'] = $callbackUri;
$parse = parse_url($site_URL);
$ipAddr = getHostByName($parse['host']);