From f7bb22156be22d38b2717d96e53dd8f2627242eb Mon Sep 17 00:00:00 2001 From: satish <satish.dvnk@vtiger.com> Date: Wed, 27 Jul 2016 11:59:04 +0530 Subject: [PATCH] Throwing warning "require_once failed to open stream no such file or directory" in Google Sync --- packages/vtiger/optional/Google.zip | Bin 70491 -> 72813 bytes .../Google/modules/Google/handlers/Vtiger.php | 123 ++++++++++++++++++ .../modules/Google/handlers/VtigerSync.php | 15 +++ .../Google/modules/Google/views/List.php | 2 +- 4 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 pkg/vtiger/modules/Google/modules/Google/handlers/Vtiger.php create mode 100644 pkg/vtiger/modules/Google/modules/Google/handlers/VtigerSync.php diff --git a/packages/vtiger/optional/Google.zip b/packages/vtiger/optional/Google.zip index 23cc620f01c5d57a8f4cc9430898022c150dff12..3d1ae659a25bbfe011a50e6316f84c8e22846658 100644 GIT binary patch delta 11057 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 F_kSyr)%gGb delta 8757 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 C=Z9_p diff --git a/pkg/vtiger/modules/Google/modules/Google/handlers/Vtiger.php b/pkg/vtiger/modules/Google/modules/Google/handlers/Vtiger.php new file mode 100644 index 000000000..680b6f847 --- /dev/null +++ b/pkg/vtiger/modules/Google/modules/Google/handlers/Vtiger.php @@ -0,0 +1,123 @@ +<?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. + *************************************************************************************/ +vimport('~~/modules/WSAPP/Handlers/vtigerCRMHandler.php'); +vimport('~~/include/Webservices/Utils.php'); +class Google_Vtiger_Handler extends vtigerCRMHandler { + public function put($recordDetails, $user) { + global $current_user; + $current_user = $user; + $this->user = $user; + $recordDetails = $this->syncToNativeFormat($recordDetails); + $createdRecords = $recordDetails['created']; + $updatedRecords = $recordDetails['updated']; + $deletedRecords = $recordDetails['deleted']; + + if (count($createdRecords) > 0) { + $createdRecords = $this->translateReferenceFieldNamesToIds($createdRecords, $user); + $createdRecords = $this->fillNonExistingMandatoryPicklistValues($createdRecords); + $createdRecords = $this->fillMandatoryFields($createdRecords, $user); + } + foreach ($createdRecords as $index => $record) { + try { + $createdRecords[$index] = vtws_create($record['module'], $record, $this->user); + } catch (Exception $ex) { + unset($createdRecords[$index]); + continue; + } + } + + if (count($updatedRecords) > 0) { + $updatedRecords = $this->translateReferenceFieldNamesToIds($updatedRecords, $user); + } + + $crmIds = array(); + foreach ($updatedRecords as $index => $record) { + $webserviceRecordId = $record["id"]; + $recordIdComp = vtws_getIdComponents($webserviceRecordId); + $crmIds[] = $recordIdComp[1]; + } + $assignedRecordIds = array(); + if ($this->isClientUserSyncType()|| $this->isClientUserAndGroupSyncType()) { + $assignedRecordIds = wsapp_checkIfRecordsAssignToUser($crmIds, $this->user->id); + // To check if the record assigned to group + if($this->isClientUserAndGroupSyncType()){ + $groupIds = $this->getGroupIds($this->user->id); + foreach ($groupIds as $group) { + $groupRecordId = wsapp_checkIfRecordsAssignToUser($crmIds, $group); + $assignedRecordIds = array_merge($assignedRecordIds, $groupRecordId); + } + } + // End + } + foreach ($updatedRecords as $index => $record) { + $webserviceRecordId = $record["id"]; + //While Updating Vtiger Record, should not update these values for event + if($record['module'] == 'Events') { + unset($record['eventstatus']); + unset($record['activitytype']); + unset($record['duration_hours']); + } + $recordIdComp = vtws_getIdComponents($webserviceRecordId); + try { + if (in_array($recordIdComp[1], $assignedRecordIds)) { + $updatedRecords[$index] = vtws_revise($record, $this->user); + } else if (!$this->isClientUserSyncType()) { + $updatedRecords[$index] = vtws_revise($record, $this->user); + } else { + $this->assignToChangedRecords[$index] = $record; + } + } catch (Exception $e) { + unset($updatedRecords[$index]); + continue; + } + } + $hasDeleteAccess = null; + $deletedCrmIds = array(); + foreach ($deletedRecords as $index => $record) { + $webserviceRecordId = $record; + $recordIdComp = vtws_getIdComponents($webserviceRecordId); + $deletedCrmIds[] = $recordIdComp[1]; + } + $assignedDeletedRecordIds = wsapp_checkIfRecordsAssignToUser($deletedCrmIds, $this->user->id); + + // To get record id's assigned to group of the current user + if($this->isClientUserAndGroupSyncType()){ + foreach ($groupIds as $group) { + $groupRecordId = wsapp_checkIfRecordsAssignToUser($deletedCrmIds, $group); + $assignedDeletedRecordIds = array_merge($assignedDeletedRecordIds, $groupRecordId); + } + } + // End + + foreach ($deletedRecords as $index => $record) { + $idComp = vtws_getIdComponents($record); + if (empty($hasDeleteAccess)) { + $handler = vtws_getModuleHandlerFromId($idComp[0], $this->user); + $meta = $handler->getMeta(); + $hasDeleteAccess = $meta->hasDeleteAccess(); + } + if ($hasDeleteAccess) { + if (in_array($idComp[1], $assignedDeletedRecordIds)) { + try { + vtws_delete($record, $this->user); + } catch (Exception $e) { + unset($deletedRecords[$index]); + continue; + } + } + } + } + + $recordDetails['created'] = $createdRecords; + $recordDetails['updated'] = $updatedRecords; + $recordDetails['deleted'] = $deletedRecords; + return $this->nativeToSyncFormat($recordDetails); + } +} diff --git a/pkg/vtiger/modules/Google/modules/Google/handlers/VtigerSync.php b/pkg/vtiger/modules/Google/modules/Google/handlers/VtigerSync.php new file mode 100644 index 000000000..ffe28050e --- /dev/null +++ b/pkg/vtiger/modules/Google/modules/Google/handlers/VtigerSync.php @@ -0,0 +1,15 @@ +<?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. + *************************************************************************************/ +vimport('~~/modules/WSAPP/synclib/handlers/VtigerSyncEventHandler.php'); +class Google_VtigerSync_Handler extends WSAPP_VtigerSyncEventHandler { + public function getSyncServerInstance(){ + return new Google_SyncServer_Controller(); + } +} diff --git a/pkg/vtiger/modules/Google/modules/Google/views/List.php b/pkg/vtiger/modules/Google/modules/Google/views/List.php index 35a52e479..5a7a668ab 100644 --- a/pkg/vtiger/modules/Google/modules/Google/views/List.php +++ b/pkg/vtiger/modules/Google/modules/Google/views/List.php @@ -51,7 +51,7 @@ class Google_List_View extends Vtiger_PopupAjax_View { $oauth2 = new Google_Oauth2_Connector($sourceModule); if ($request->has('oauth_verifier')) { try { - $oauth->getHttpClient($sourceModule); + $oauth2->getHttpClient($sourceModule); } catch (Exception $e) { $viewer->assign('DENY', true); } -- GitLab