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']);